栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

uglify-js可以删除console.log语句吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

uglify-js可以删除console.log语句吗?

在最新的uglify-
js(v2.4.3)中,添加了新的压缩选项’pure_funcs’。如果将console.log函数添加到此数组,它将在缩小的js文件中删除。下面的测试代码显示了此选项的工作方式。这正是我想要的。

// file: m.jsvar uglify = require('uglify-js');var originalSourceCode = 'var name = function(){var str = "test"; return str}; console.log("log data" + name());';var minifiedCode = uglify.minify(originalSourceCode, {     fromString : true,     mangle: {},     warnings: true,     compress:{         pure_funcs: [ 'console.log' ]     } });console.log(minifiedCode);$node m.jsWARN: Dropping side-effect-free statement [?:1,53]{ pre: 'var name=function(){var n="test";return n};',  map: 'null' }

来自https://github.com/mishoo/UglifyJS2的报价

pure_funcs-默认为null
您可以传递一个名称数组,UglifyJS会假定这些函数不会产生副作用。危险:将不检查名称是否在范围内重新定义。这里有一个示例案例,例如var q =
Math.floor(a / b)。如果没有在其他地方使用变量q,UglifyJS将删除它,但仍保留M​​ath.floor(a /
b),而不知道它做什么。您可以传递pure_funcs:[‘Math.floor’]使其知道该函数不会产生任何副作用,在这种情况下,整个语句将被丢弃。当前的实现增加了一些开销(压缩会更慢)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/391065.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号