我正在使用Grunt构建一个React项目,我想要'dev'和'prod'的味道.正如反应文档所说:
要在生产模式下使用React,请将环境变量NODE_ENV设置为production.建议使用UglifyJS执行死代码消除的minifier,以完全删除开发模式中存在的额外代码.
我是非常新的使用grunt,browserify和东西,但让我们看看.我遇到的第一个问题是envify,我用它作为变换:
browserify: {
options: {
transform: ['reactify'],
extensions: ['.jsx']
},
dev:{
options: {
watch: true //Uses watchify (faster)
},
src: ['js/app.js'],
dest: 'js/bundle.js'
},
/**
* To use React in production mode, set the environment variable NODE_ENV to production.
* A minifier that performs dead-code elimination such as UglifyJS is
* recommended to completely remove the extra code present in development mode.
**/
prod: {
options: {
transform: ['envify'] //How to set up NOD_ENV='production' ?
}, …Run Code Online (Sandbox Code Playgroud) 我运行这个命令:
browserify src.js -t [ babelify --presets [ react ] ] > build.js
Run Code Online (Sandbox Code Playgroud)
我得到一个可以由它自己使用的文件.工作正常,但它的NODE_ENV设置为开发,我得到一个关于下载React DevTools的console.log.
如何将其设置为生产?我浏览了一下,没有发现任何对我有用的东西.我尝试了envify,但没有运气(我对JS构建非常新手).
我尝试将--NODE_ENV生产放在上面的某个位置,但我对浏览器和babelify非常新,所以我基本上都在进行反复试验.