envify在react.js不起作用

我是node.js和react.js的新手。 我最近学习react.js,并按照react.js 官方页面上的说明,并尝试使用生产模式。 所以我开始在main.js中的代码

var React = require('react'); var ReactDOM = require('react-dom'); ReactDOM.render( <h1>Hello, world!</h1>, document.getElementById('example') ); 

并浏览它

 $ browserify -t [ babelify --presets [ react ] ] -t [ envify --NODE_ENV production ] main.js -o bundle.js 

但是envify似乎不起作用。 结果包代码仍然包含

 process.env.NODE_ENV 

有什么问题吗? 我试图在main.js中设置process.env.NODE_ENV='production' 。 但它不起作用。 谁能帮我? 谢谢。

而是在shell中设置NODE_ENVvariables。

 NODE_ENV=production browserify -t [ babelify --presets [ react ] ] -t envify main.js -o bundle.js 

这是因为你只在你自己的文件上运行envify 。 要使browserify将其应用于所有模块(包括React的代码),请使用-g (又名全局变换)而不是-t

 $ browserify -t [ babelify --presets [ react ] ] -g [ envify --NODE_ENV production ] main.js -o bundle.js 

有关详细信息,请参阅browserify的手册 。