Books
深入浅出 Webpack
这本书有点老了,仅支持到 Webpack 3.8。
这本书有点老了,仅支持到 Webpack 3.8。
使用命名空间管理代码的弊端?
- 命名空间冲突,两个库可能会使用同一个名称,如 jQuery 和 zepto
- 无法合理地管理项目的依赖和版本
- 无法方便地控制依赖的加载顺序
CommonJS 1 和 CommonJS 2 的区别?
相比 CommonJS 1 的 exports.xx = xx
的形式,CommonJS 2 增加了 module.exports = xx
的导出形式。
代码构建的定义?
包括代码转换、文件优化、代码分割、模块合并、开发服务器、代码校验、自动发布。
Webpack 的核心概念?
Webpack 在启动后首先从 Entry 开始递归解析所有依赖的 Module。每找到一个Module,就根据配置的 Loader 做出对应的转换。这些模块会以 Entry 为单位进行分组形成 Chunk。最后,Webpack 将所有 Chunk 转换成文件输出。在上述流程的不同截断,会通知 Plugin 相应逻辑。
有哪些模块编译目标(libraryTarget)?
默认编译目标是 var,还有 commonjs、commonjs2、this、window、global 等。
以 var 举例,会输出以下代码:
var library = your_lib_code
library.xxx()
开启 DevServer HTTPs 的必要性?
HTTP/2 和 Service Worker 需要 https 的支持。
ES 提案各 Stage 的大致示意?
- stage0:只是一个美好激进的想法
- stage1:值得被纳入标准的特性
- stage2:该特性规范已经被起草,将会被纳入标准里
- stage3:该特性规范已经定稿,浏览器厂商开始着手实现
- stage4:在接下来的一年里将会加入标准里
SASS 和 SCSS 的异同?
SASS 语法类似于 Ruby,SCSS 语法类似 CSS。
Webpack 配置 NodeJS 同构应用的关键点?
- target:node
- libTarget:commonjs2
- externals:webpack-node-externals
- css file:ignore-loader
勘误
p68,p223,watchOptions.poll=1000 不是“默认每秒询问1000次”,而是每秒询问一次。 p169,缩紧