- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在使用 Grunt 来构建一个 React 项目,我想要“开发”和“生产”风格。正如 React 文档所说:
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.
我对使用 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' ?
},
src: ['js/app.js'],
dest: 'js/bundle.js'
}
},
好的,执行 grunt:dev 工作得很好。所以当运行 grunt:prod 时...我如何设置 NODE_ENV: 'production'?我的意思是,我知道我正在将“envify”作为转换传递,但是...不知道如何使用它。
在此之后,我还有一个丑化任务:
uglify: {
prod: {
files: {
'js/bundle.min.js': ['js/bundle.js']
}
}
}
所以在调用 grunt:prod 之后,它创建的是两个文件(bundle.js
和 bundle-min.js
)。在生产中,我希望只有 bundle.min.js
。我知道我能做到:
js/bundle.js': ['js/bundle.js']
但是嗯,我不知道是否有办法将它重命名为 bundle.min.js,我想是这样...问题是我在 html 中有:
<script src="js/bundle.js"></script>
这里是否还有一个技巧可以让它接受 bundle.js 或 bundle.min.js?
提前致谢。
最佳答案
转换是本地的,制作精良的包将它们的转换放在它们的 package.json 文件中。除非您在您自己的代码中使用 envify,否则您不需要对它做任何事情。
您需要的是 grunt-env ,或另一种设置环境变量的方法。
这是使用 package.json 的替代方法:
{
"scripts": {
"build": "NODE_ENV=development grunt build-dev",
"dist": "NODE_ENV=production grunt dist"
}
},
"devDependencies": {
"grunt": "...",
"grunt-cli": "..."
}
这里的好处是使用你的包的人甚至不需要全局安装 grunt。 npm run build
将使用正确的环境变量集运行 ./node_modules/.bin/grunt build-dev
。
关于javascript - React 和 Grunt - Envify NODE_ENV ='production' 和 UglifyJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25751045/
为了解决来自 Redux 的警告背后的问题,我偶然发现了 the advice这解释了在使用 React 或 Redux 时为了生成针对生产使用而优化的构建,envifying 是必要的步骤。 Env
我的 gulpfile.js 中有以下 gulp 任务: gulp.task('build-scripts', function () { var b = browserify({ d
我是node.js 和react.js 的新手。我最近学习了react.js并按照react.js offical page上的说明进行操作并尝试使用生产模式。所以我从 main.js 中的代码开始
browserify -t [ envify --NODE_ENV production , brfs ] index.js -o dist/javascripts/bundle.js 或 brows
所以我正在通过 NPM 和 Browserify 使用 ReactJS,但是我正试图弄清楚如何像自述文件所说的那样在生产模式下构建它,但它似乎不起作用。我有这段代码来设置 browserify: va
我正在使用 Grunt 来构建一个 React 项目,我想要“开发”和“生产”风格。正如 React 文档所说: To use React in production mode, set the en
我是一名优秀的程序员,十分优秀!