停止在browserify捆绑包中包含react的开发版本

时间:2018-08-30 01:40:45

标签: reactjs browserify

Browserify在我的browserify捆绑包中捆绑了react和react-dom的生产和开发版本,这使得捆绑包大大超出了应有的大小。简单的可复制示例:

main.js:

var React = require('react');
var ReactDOM = require('react-dom');

ReactDOM.render(
    React.createElement('h1', null, 'Hello Planet'),
    document.getElementById('root')
);
// To simplify the workflow, this example does not use JSX or ES2015.

index.html:

<!DOCTYPE html>
<html>
  <head>
    <title>Page</title>
    <meta charset="utf-8">
  </head>
  <body>
    <div id="root"></div>
    <script src="_build/main.js"></script>
  </body>
</html>

要构建main.js,我运行了以下命令:

NODE_ENV=production browserify --full-paths main.js -o _build/main.js

所得的包大小为786 kb。使用disc对分发包进行的分析显示,分发包中同时包含react-dom.development.js(610.9 kb)和react-dom.production.min.js(92.5 kb)。 react.development.js(48.4 kb)和react.production.min.js(5.4 kb)都一样,它们都包含在分发包中。

所以问题是:由于react和react-dom的开发版本不是捆绑包的必要组件,因此如何首先不包括开发版本?如何指示浏览器只捆绑react和react-dom的生产版本?

0 个答案:

没有答案