服务器端和浏览器端的天然区别 服务器端所有的模块都存放在本地硬盘中,可以同步加载完成,等待时间就是硬盘的读取时间。 浏览器,所有的模块都放在服务器端,等待时间取决于网速的快慢,可能要等很长时间,浏览器处于”假死”状态。 说说JS的模块化 原始模拟模块的一些写法 一个函数就是一个模块 一个对象就是一个模块 立即执行函数为一个模块 CommonJS规范 暴露模块 module.exports = {} exports.xxx = 'xxx' 引用模块 使用全局方法require() 模块标识符 核心模块(Node.js自带的模块):直接跳过路径分析和文件定位 路径模块(相对或绝对定位开始的模块):直接得出相对路径就好了 自定义模块(node_modules里的模块):先在当前目录的node_modules里找这个模块,如果没有,它会往上一级目录查找,查找上一级的node_modules,依次往上,直到根目录下都没有, 就抛出错误。 CommonJS规范的特点 所有代码都运行在模块作用域,不会污染全局作用域; 模块是同步加载的,即只有加载完成,才能执行后面的操作; 模块在首次执行后就会缓存,.... 模块化小讲 前端