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做一个对豆瓣上电影爬虫的例子:
360前端星-Node.js基础入门(一)

Node.js基础

首先在官网下载Node.js
360前端星-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安全问题