- 开发模式包含有助于检测错误的警告,但会增加打包体积并降低性能。
- __DEV__ 常量在构建时被替换,而压缩工具会在生产环境中移除死代码。
- 像 webpack 这样的打包工具会将 process.env.NODE_ENV 模式替换为字符串字面量。
- 死代码消除需要静态条件;复杂的表达式或模块边界可能无法生效。
- 像 Create React App 这样的现代工具将开发和生产构建分离为不同的命令。
- 开发警告应默认开启,以便尽早捕获错误,尤其是针对新用户。
- process.env.NODE_ENV 的约定源自 Node.js,并被 browserify 和 React 采用。
- React 现在预编译了开发和生产环境的分离包,以避免运行时检查。
- 文章倡导将模式作为 JavaScript 环境中的一等概念。