1、为什么学习node?
如今的前端是一个工程,实现这个工程是在node的基础上。在工程里写的vue和react代码,是无法在浏览器上运行,需要通过webpack这样的工具进行代码转译为能在浏览器中运行的代码。
webpack是用node进行实现的,学习node是为了更好的了解前端工程化,不是为了写后端。
引导到npm和webpack打包工具
2、node如何做版本的升级?为什么使用nvm?
为什么要进行升级
webpack在进行打包的时候,依赖于node的API,想让打包速度提高就可以升级node版本进行。
如何进行升级
如果直接升级node就会只有一个版本的node,会影响之前开发的项目。
用nvm,使用nvm可以在电脑中保存多个版本的node。
3、模块化的差异,AMD、COMMONJS、ESMODULE
AMD依赖前置
define(['a','b'],funtion(a,b){
})
//后边的a,b可以改变,比如改为
define(['c','b'],function(a,b){
)
//后边不用改变
commonJS和AMD是动态引入模块可以写进if/else。require
ESmodule是静态引入,不可以写入if/else,引入必须得写在前边。import
webpack中用ESmodule,webpack中有个依赖图谱,只有是import的语法静态引入才可以分析出项目中的依赖结构,帮助快速的打包,