用ng build剥离所有注释和console.logs --prod,可能吗?
问题描述:
我正在使用MEAN,Angular 2,Node/Express,Angular-CLI和ng build --prod来构建我的应用程序,并且在整个我的应用程序中,我都有一段注释掉一次性代码和十亿次调试console.log语句的讽刺。有没有办法让构建过程在构建时删除所有注释和console.log语句?手动做这件事的想法是可怕的!用ng build剥离所有注释和console.logs --prod,可能吗?
答
您可以使用ng lint
与--fix
标志和tslint配置文件no-console
规则。并将其挂接到包文件中的构建调用。
例如: ... "prebuild": "ng lint --fix", "build": "ng build -prod", ...
和构建应用程序
npm run build
答
只需添加这window.console.log = function(){};
到 if (environment.production) { enableProdMode(); }
我想像的评论已经删除了,你看了看输出?但是,它应该如何知道哪些日志是功能性的,哪些只是调试? – jonrsharpe
angular-cli使用引擎盖下的webpack,这在捆绑过程中已经在做JavaScript的一些修改。我相信有webpack的插件可以删除控制台日志记录以及在mangle过程中的注释,但我不知道如何将它与angular-cli同步。 – silencedmessage