我正在使用requirejs在play 2.2框架上构建前端。play为这种情况提供了很大的开发/阶段代码差异。在开发模式下,我使用基于浏览器的需求,在阶段,我使用的是项目的r.js版本预编译。但有一个功能失败了--在javascript方面是否可以区分它是否是开发模式,以及在编译过程中删除部分代码之类的内容:
#ifdef DEVELOPMENT
code in Development only
#endif发布于 2014-08-25 16:53:19
默认情况下,r.js使用UglifyJS优化模块。在r.js的配置中,您可以使用uglify选项向UglifyJS发送配置选项。例如,
uglify: {
defines: {
DEV: ['name', 'false']
}
},这将告诉uglifyjs将符号DEV的每个实例替换为名称false。然后,像这样的部分:
if (DEV) {
// ....
}将被uglifyjs自动删除为不可访问的。
有关如何工作的详细信息,请参阅“文件”。
您可能还想看看UglifyJS2,因为它可能比UglifyJS做的更多。您可以告诉r.js通过将optimize选项设置为uglify2来使用它,并使用uglify2选项来控制它所做的事情。
https://stackoverflow.com/questions/25476630
复制相似问题