react.js中的envify不起作用

时间:2016-02-01 03:17:15

标签: node.js reactjs

我是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'。但它不起作用。谁能帮我?感谢。

2 个答案:

答案 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
相关问题