是否可以使用grunt-contrib-uglify排除部分javascript?

时间:2017-09-08 12:16:34

标签: javascript gruntjs grunt-contrib-uglify

我正在使用grunt-contrib-uglify作为我的js构建过程,并且非常希望能够从最终构建中排除某些代码部分。

看起来像是这样的东西:

/*BuildExcludeBegin*/
Run this code during development, but don't include it in the minified.js
/*BuildExcludeEnd*/

有没有人知道这是否适用于grunt-contrib-uglify?

3 个答案:

答案 0 :(得分:3)

grunt-contrib-uglify 不提供此功能。但你可以使用: https://www.npmjs.com/package/grunt-strip-code

从该页面引用:

  

<强>咕噜条码

     

grunt-strip-code插件用于从生产版本中删除仅在开发和测试环境中需要的代码段。 grunt-strip-code使用开始和结束注释来标识要删除的代码段。例如:

/* test-code */
removeMeInProduction();
/* end-test-code */

doNotRemoveMe();
  

此练习的用例是使单元测试可以访问私有JavaScript函数,而不会在生成版本中公开它们。这篇博文详细介绍了概念和实现。

答案 1 :(得分:2)

我认为没有任何功能允许您排除代码片段。您可以将代码拆分为可以单独排除的单独文件吗?并非manglemangle.properties适合您?

答案 2 :(得分:1)

这可以通过grunt-contrib-uglify完成,它现在称为有条件的编译,就像...

if (DEBUG) {
    console.log("debug stuff");
}

https://github.com/mishoo/UglifyJS2#conditional-compilation