当NODE_ENV =生产时,如何有条件地给出缩小的生产束?

时间:2016-11-15 23:17:01

标签: reactjs build npm

如果使用NODE_ENV=production构建项目,则react会自动包含bundle中lib的缩小生产版本。相反,非生产构建将包括dev unminified版本的反应。

这是如何实现的?

如果我们安装react:

npm install --save react

然后查看其package.json的{​​{1}}密钥,它指向:

main

查看"main": "react.js", 文件的内容只是:

react.js

查看module.exports = require('./lib/React'); 我期待看到一个加载缩小版本的条件,但条件似乎做了其他的事情:

./lib/React

在prod和dev版本之间做出什么反应?它似乎并不像我想象的那样与if (process.env.NODE_ENV !== 'production') { var ReactElementValidator = require('./ReactElementValidator'); createElement = ReactElementValidator.createElement; createFactory = ReactElementValidator.createFactory; cloneElement = ReactElementValidator.cloneElement; } var __spread = _assign; if (process.env.NODE_ENV !== 'production') { var warned = false; __spread = function () { process.env.NODE_ENV !== 'production' ? warning(warned, 'React.__spread is deprecated and should not be used. Use ' + 'Object.assign directly or another helper function with similar ' + 'semantics. You may be seeing this warning due to your compiler. ' + 'See fb.me/react-spread-deprecation for more details.') : void 0; warned = true; return _assign.apply(null, arguments); }; } 中的缩小和未明确的构建进行交互。

0 个答案:

没有答案