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 同构应用的关键点?

  1. target:node
  2. libTarget:commonjs2
  3. externals:webpack-node-externals
  4. css file:ignore-loader

勘误

p68,p223,watchOptions.poll=1000 不是“默认每秒询问1000次”,而是每秒询问一次。 p169,缩紧


Copyright © 2024 Lionad - CC-BY-NC-CD-4.0