node是什么
node是一个代码运行环境,也能够运行JS代码。
JS的三要素是ECMAscript,DOM,BOM,而node.js是ECMAscript,Node,API。
怎么使用Node.js
首先在使用的文件中,按住shift键+鼠标右键,出现一个‘在此处打开Powershell串口’,点击后即可打开
如创建一个node.js文件
然后该文件的目录位置打开powershell窗口,如图
node.js被调用了。
全局对象
在浏览器中,全局对象是window
而在node中,全局对象是global.所以,log,setTimeour这些方法都可以用
如图 在这里插入图片描述
模块划开发
一个js文件就是一个模块,可以用exports对其成员导出,然后用require导入其他模块
如图
其次,还可以用module.exports方法进行导出,当一个文件里面又有exports和module.exports时,以后者为准。
上图时a.js,下图是b.js
调用后结果以module.erports为准。
当module.erports不是重新赋值而是直接加进去后,结果如图以对象形式叠在一起呈现。
系统模块API
文件操作
有读和写,readFile,writeFile,
1 首先引入fs模块,
如图,在readFile中,err值,如果读取正常,里面的值应该是null,而dos则是global里面的内容
如图
在writeFile中,
也成功写入了content。
path路径
在window中,/\都可,而在linux中,时使用/,所以为了防止,导入Path,
path.join可以拼接,
如图,__dirname可以获取绝对路径,在join中,用__dirname+文件名的join获取绝对路径。结果如图
第三方模块
1 以Js文件存在
2 命令行工具形式存在
用npm install XXX来下载模块,一般命令行工具后面要加-g,而库文件则不用加,属于本地安装。
1用nodemon代替node,优势就是,Node每次调用一次后,就会结束,如果你修改文件的内容,你得重新调用一次,而用nodemon,调用完必须用ctrl+c来结束,而且文件修改后会实时的更新。
2 nrm模块
nrm可以切换npm下载地址,nrm ls查看,nrm use XXX 转换
gulp模块
1gulp.src()获取文件
2 gulp.dest()输出文件
3 gulp.task()任务
4 gulp.watch()监控
调用因为是gulp模块,故如图
以gulp开头,调用任务。
gulp插件
1 gulp.htmlmin 压缩html文件
2 gulp.csso 压缩csso文件
3 gulp-babel ES6转换
4 gulp-file-include 公共文件包含
5 gulp-less less文件装换
6gulp-uglify 压缩js
接着,在各个html中引入头部模块
压缩后的html
这些方式有一个弊端,就是需要一个一个运行,而
这样就可以一次性调用所有任务。
package.json文件
用npm init -y就可生成package.json文件。下图是文件里包含的内容
用npm install xxx --save-dev生成的模块会被加入到开发依赖
用 npm install生成的模块加入到项目依赖
模块加载机制
两者的区别是加了前缀后,会在当前目录下去寻找同名文件夹,而没加前缀,则必须在node_modules这个文件夹里面找。