面试题:说一下js的模块化?"/>
Js面试题:说一下js的模块化?
作用:
一个模块就是实现某个特定功能的文件,在文件中定义的变量、函数、类都是私有的,对其他文件不可见。
为了解决引入多个js文件时,出现 命名冲突、污染作用域 等问题
AMD:
浏览器端模块解决方案
AMD即是“异步模块定义”
在AMD规范中,我们使用define定义模块,使用require加载模块
提前执行:它采用异步方式加载模块,一边加载一边执行
依赖前置:依赖必须在定义时引入
CMD:
浏览器端模块解决方案
CMD即是“通用模块定义”
在CMD规范中,我们使用define定义模块,使用require加载模块
延迟执行:它采用异步方式加载模块,先加载完毕再按需执行
依赖就近:依赖可以在代码的任意一行引入
CommonJS:
服务器端模块解决方案
在CommonJS规范中,我们使用module.exports导出模块,使用require加载模块
立即执行:它采用同步方式加载模块,先加载后执行,执行完毕会被缓存
依赖就近:依赖可以在代码的任意一行引入
ESModule:
浏览器端 和 服务器端 通用的模块解决方案
在ESModule规范中,我们使用export导出模块,使用import加载模块
延迟执行:它采用异步方式加载模块,先加载完毕再按需执行
依赖就近:依赖可以在代码的任意一行引入
更多推荐
Js面试题:说一下js的模块化?
发布评论