Nodejs简介
1、安装、版本管理 (NVM)
2、熟悉Nodejs模块机制及npm(Node本身由模块组成,Node的生态环境也是由模块组成,安装node,node会顺带安装npm)
3、了解Nodejs的能力
Nodejs模块机制
1、Node应用由模块组成,采用CJS/ESM模块规范来组织
2、每个文件都是一个模块,都有自己的作用域
3、在一个文件里定义的遍历、函数、类、都是【私有】的,对其他文件不可见,,只有export出来的才能看到
4、在Node种,模块的加载是运行时【同步加载】的
5、模块可以多次加载,但是只会在【第一次加载】时【运行一次】,然后运行结果就被缓存了
6、路径分析 -> 文件定位 -> 编译执行
Nodejs加载机制
1、缓存中存在,直接返回
- 与浏览器会缓存静态脚本文件以提高性能一样,Node对引入过的模块都会进行缓存,- 第一级优先
- 不同:浏览器仅缓存文件,而Node缓存的是编译和执行后的对象,核心模块优先于文件模块
- 核心模块在Node源代码的编译过程中,编译进了二进制文件,在Node进程启动时,部分核心模块就被直接加载在内存中,所以这部分模块引入时,文件定位和编译可省略,且路径分析中优先判断 -加载最快
2、内置模块,则直接加载
3、根据找到的文件创建新模块并缓存
Nodejs包管理器 npm
npm代指Node的模块生态,又代指模块安装CLI工具
通过pakage.json来描述项目的基本信息和以来,组成树状结构,方便npm在安装查找的时候完成依赖的注册
使用nvm管理node版本,使用nrm管理npm源,使用npx执行命令 (nrm 加速包下载,私有npm包)
使用yarn加速包下载
使用scripts组织工程化脚本入口
Nodejs的能力
01、跨平台 前端:web + h5 移动端:htbird PC端 |
03、前端 react、vue、angular 应用实践 架构 |
02、Node后端 核心特性、Web应用、Apirpc、测试、部署、最佳时间为服务、厂商支持 |
04、工具 各种预编译、构建工具Webpack/gulp、工程化Hack技巧、npm等 |
适合吞吐量大的事情,不适合计算量大的事情