【问题标题】:NPM + React + Webpack: How Does Switching Development/Product Modes Work?NPM + React + Webpack:切换开发/产品模式如何工作?
【发布时间】:2016-03-27 08:33:12
【问题描述】:

我了解 React.js 的开发版本和产品版本之间存在差异,如果我使用脚本标签,我会简单地将缩小版本用于生产。

但是,当我使用 NPM 获取 React.js 并使用 Webpack 导入它时,它是如何工作的?对 React.js 源代码的粗略检查没有发现任何基于 NODE_ENV 的条件加载。

【问题讨论】:

    标签: reactjs


    【解决方案1】:

    那是因为源代码实际上并没有暴露 process.env.NODE_ENV ,我假设这是出于可读性的原因,并且环境变量被注入到发布版本中。以React@0.14.7 中的 Danger.js 为例,

    生产构建 - https://npmcdn.com/react@0.14.7/lib/Danger.js

    源代码 - https://github.com/facebook/react/blob/v0.14.7/src/renderers/dom/shared/Danger.js

    您可以看到invariant() 调用和__DEV__ 条件表达式被替换。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-10
      • 2021-01-17
      • 1970-01-01
      • 1970-01-01
      • 2016-09-15
      • 2019-12-30
      • 2021-12-24
      • 1970-01-01
      相关资源
      最近更新 更多