Node.js入门
Pcjmy2022-05-29JavaScriptNode.js
Node.js入门
NodeJS简介
chrome V8 引擎
- chrome是一个浏览器,它可以执行js代码
- V8就是chrome的js引擎,以速度著称
- nodejs也是基于js语法的,因此也可以借用V8引擎
运行时
- 代码的运行环境
- 有了运行时,代码才能被执行
- 没有运行时,代码就是一堆静态的文本,就像txt—样
nodejs是什么
一个基于Chrome V8引擎的JavaScript运行时
如何使用nodejs做服务端
- 安装nodejs
- 编写js代码(处理http请求)
- 使用nodejs执行js代码
总结
- nodejs是一个基于Chrome V8引擎的js运行时
- nodejs使得js语言能做更多的事情,而不仅仅是网页
- 安装nodejs,即可执行js代码
NodeJS下载安装
验证是否安装成功
- 打开控制台,运行
- node -v
- npm -v
在命令行运行
D:\>node
Welcome to Node.js v16.14.2.
Type ".help" for more information.
> a=100
100
> a
100
>
(To exit, press Ctrl+C again or Ctrl+D or type .exit)
>
(按两次Ctrl+C退出)
npm
npm介绍
npm是什么
- node package manager ,即nodejs 软件包管理者
- 官网https://www.npmjs.com
- 有几百万的软件包,开源免费
软件包有何用
- 现代软件工程已经完善且成熟,项目不会从0开始写
- 必须搭配成熟的工具和框架才能满足需求,否则将无人使用
- 每个成熟的开发语言或者环境,都需要成熟的软件包体系
npm使用
开始使用npm
- npm会随着nodejs 一起被安装
- npm init初始化环境
- npm install lodash --save安装lodash
common.js模块化
- module.exports
- require(...)
- 主要用于nodejs开发
require(...)的三个层级
const http = require('http') // nodejs 自带的模块
const _ = require('lodash') // 通过npm安装的模块
const { sum, test } = require('./utils') //自己手写的模块
commonjs和ES6 Module的区别
- 两者语法不一样
- commonjs是执行时引入,动态的
- ES6 Module是打包时引入,静态的
为何使用模块化
- 模块拆分开,便于代码的组织和管理
- 便于多人协作开发,各写各的互不干扰
- 成熟的语言,都支持模块化,如CC++ java php python Go
服务端调试
inspect调试法
- 修改scripts,增加—inspect,启动服务
- 打开chrome,访问chrome://inspect
- 增加debugger,重启服务,即可调试
总结
nodejs和前端js区别
- 两者都使用js语法
- 前端js使用浏览器提供的Web API
- nodejs使用nodejs API
总结
- 前端js = js语法 + Web API
- nodejs = js语法 + nodejs API
- 同样的语法,不同的工作