360前端星-Node.js基础入门(一)
时间:4.10
题目:Node.js基础入门(一)
主讲人:李喆明
Node.js基础入门(一)
什么是Node.js
1.Node.js是基于ChromeV8引擎中
2.与JavaScript的区别:
-基于I/O相关接口
-基于node_modules和require的模块依赖
-提供C++ addon API与底层系统的交互
语法与js很像
3.Node.js可以干什么?
Web服务端:Web Server、爬虫
CLI命令行脚本:webpack
GUI客户端软件:VSCode、网易云音乐
IoT,图像处理,实时通讯
利用node.js做一个对豆瓣上电影爬虫的例子:
Node.js基础
首先在官网下载Node.js
使用node index.js去执行,可以看到
模块:
- 内置模块:编译在node中
- 文件模块:原生模块之外的模块,和文件(夹)一一对应
模块类型:.js .json .node .mjs
模块路径查找:
- 绝对路径
- 相对路径:相对路径与当前路径处理为绝对路径
- 模块名称/文件夹
模块缓存:
- 模块加载后会将返回值缓存起来
- 下次加载时直接读取缓存结果,避免文件I/O和解析时间
- 导出对象缓存在Module._cache对象上
NPM
包管理:
package.json文件应该存于包顶级目录下
二进制文件在bin目录下
Js代码放在lib目录下
文档放在doc目录下
单元测试放在test目录下
Tip:可以使用 npm confirg set init.author.name
等命令修改初始化时的默认值
NPM的问题:
- 速度问题
- 安全问题
npm audit检测npm安全问题