Node.js
1.基于chrome v8
引擎的js
运行环境
2.v8
引擎:chrome
的js
解析引擎,C++
开发,单线程,可独立运行
3.运行环境:①类似虚拟机,提供js
在服务端运行的环境
②js
工具库:扩展了js
在服务端的功能
1.Node.js
必须先安装再使用 -- 有很多版本
2.安装方式:①下载包安装:添加到环境变量
版本更新:重新下载安装
②NVM
:多版本切换
3.查看是否安装成功:node -v ----命令行
4.注意:①安装环境不要出现中文
②添加到环境变量
③查看是否安装成功 : $ node -v
REPL
环境1.类似开发者工具中的console
2.进入REPL
环境:打开命令行:node + 回车
3.退出REPL
环境:ctrl+c
或者process.exit()或.exit
4.执行js
文件:node*.js
或node demo(文件默认为``js
)`
1.global
:全局环境 ,类似window
2.globalThis
:ES6
新增的全局对象,浏览器端指向window
,服务端指向global
3.process
:获取当前的node进程信息
4.console
:node
内置的控制台模块,类似客户端的console
5.Buffer
:用于处理二进制的数据
Bable
1.ES6
转码器:将ES6
转为ES5
-- 可以使用ES6
编写程序,然后将代码转化为ES5
适应老版本浏览器
2.安装:$ npm install --save-dev @babel/core
3.配置文件:.babelrc
-- 项目根目录
{ "presets": [ "@babel/env"], //转码规则 "plugins": [] //插件 }
4.转码规则:官方提供,可通过npm
安装
$ npm install --save-dev @babel/preset-env
5.命令行转码工具:$ npm install --save-dev @babel/cli
$ npx babel es6.js -- 转码之后输出到控制台 $ npx babel es6.js -o es5.js -- 将es6.js文件转码之后写入到es5.js文件 npx:npm5之后新增的功能,帮助去调用局部安装的工具
process.stdout.write('\033[0f');
process.stdout.write('\033[2J');
单线程
非阻塞式I/O -- 异步编程,错误优先(回调函数的第一个参数是error)
1.使用CommonJs规范 -- 运行时加载 ,同步加载
2.Node.js
模块分类:①核心模块:平台自带
②第三方模块:包
③文件模块:自己开发的
3.module对象:Node.js内部提供,所有模块都是module的实例
4.导出:exports或module.exports
exports.name = val; module.exports = {name:val} 注意:exports为module.exports别名,导出最终以module.exports为准
5.导入:require
规则一:以:./或../开头的路径以当前文件所在的文件夹开始寻找模块 require("./module.js"); //加载当前目录下的module.js模块 require("./module"); // 省略扩展名则按js文件执行 规则二:以/开头则以系统根目录(当前文件所在的目录)开始寻找模块 require("/module/demo.js"); //加载当前文件所在根目录目录根据路径开始寻找 规则三:不以./或../或/开头 1:以核心模块加载 require("http"); 2:从当前目录开始依次向上查找node_modules目录 规则四:路劲是一个文件夹 1.查找文件夹下是否有package.json中main字段指向的文件 require("./path") 2.不存在package.json或者没有main字段,指向index.js
1.分类:①内置模块:Node.js系统自带模块 -- require("module&