我是node.js和react.js的新手。 我最近学习react.js并按照react.js offical page上的说明尝试使用生产模式。 所以我从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'
。但它不起作用。谁能帮我?感谢。
答案 0 :(得分:2)
这种情况正在发生,因为您只在您自己的文件上运行envify
。要让browserify
将其应用于所有模块(包括React的代码),请使用-g
(也称为全局转换)而不是-t
:
$ browserify -t [ babelify --presets [ react ] ] -g [ envify --NODE_ENV production ] main.js -o bundle.js
有关详细信息,请参阅browserify's manual。
答案 1 :(得分:1)
改为在shell中设置NODE_ENV变量。
NODE_ENV=production browserify -t [ babelify --presets [ react ] ] -t envify main.js -o bundle.js