草庐IT

UglifyJs

全部标签

javascript - Lodash 不是 TreeShaking with Webpack 和 Webpack 4?

我想从webpack生成的包中摇树lodash以及我未使用的multiply函数我有2个主要文件app.js和math.js它包含以下代码-应用程序.jsimportmapfrom"lodash/map";import{sum}from"./math";console.log("?");console.log(`2+3=${sum(2,3)}`);map([1,2,3],x=>{console.log(x);});数学.jsexportconstsum=(a,b)=>a+b;exportconstmultiply=(m,n)=>m*n;webpack.config.jsconstpat

javascript - 缩小仅由 Node 读取的源代码有什么好处吗?

这个问题在这里已经有了答案:DoesitmakesensetominifycodeusedinNodeJS?(4个答案)关闭8年前。在NodeJS应用程序中,在服务器端使用缩小的源代码有什么好处吗?我能想到的唯一好处是,较小的JS文件从磁盘加载的速度可能会稍微快一些。但这似乎可以忽略不计,因为它只会影响启动时间。那么,在将源代码部署到我们的生产服务器之前,是否有任何理由通过uglify或闭包编译器来处理我们的源代码?

javascript - 来自 UglifyJs 的 bundle.js 中的错误

我已经完成了一个项目,现在是构建它的时候了。我正在使用一个样板项目,但仍然不完全理解幕后发生的所有npm/webpack事情。运行“npmstart”时,我收到错误:ERRORinbundle.jsfromUglifyJsSyntaxError:Unexpectedtoken:punc())[bundle.js:848,29]在网上搜索这个问题一个小时后,我仍然无法解决它。据我了解,这个问题的发生是因为Uglify还不喜欢ES2016。但是,我在Internet上找到的解决方案似乎不起作用,或者对我来说实现起来意义不大。我找到了这个stackoverflowquestion并将我项目的

javascript - UglifyJS - 转换文件夹中的所有 .js

我想知道是否有人可以提供帮助,我正在尝试完成目前使用babel转译es6>es5的构建过程,完成后我想使用uglifyJS仅使用NPM递归缩小我所有的.js文件脚本(请不要发出咕噜声或吞咽声)。我想要的;将文件夹中的所有.js转换为es5使用uglify缩小给定文件夹中的所有.js文件创建源map复制到新文件夹我当前的设置;将所有.js转换为es5缩小所有es5.js文件(但是没有创建源映射,es5js文件也被替换,因为不支持移动到另一个文件夹)我试过:https://www.npmjs.com/package/recursive-uglifyjs和https://www.npmjs.

javascript - 来自 UglifyJs 的 webpack 2 : ERROR in ./public/bundle.js 意外字符 '` '

我遇到了2个相关问题:首先:当我运行npmrunbuild时,bundle.js文件没有缩小,但我得到了一个bundle.js.map文件。第二:当我运行webpack-d时,我只得到一个缩小的bundle.js文件(没有错误)但是当我运行webpack-p然后我得到一个bundle.js是not缩小的,一个bundle.js.map,以及那些错误:ERRORin./public/bundle.jsfromUglifyJsUnexpectedcharacter'`'[./app/config.js:5,0][./public/bundle.js:76,14]ERRORin./publi

javascript - babel-minify vs terser(而不是 uglify-js)

我对ES6+(称为现代JavaScript)比较陌生,但似乎如果我想在浏览器中使用它,我需要babel-minify或terser.(开始我以为Babili是另一个播放器,但它只是Babel-Minify的theoldname)关于浏览器的polyfill,有生产就绪的解决方案,如@babel/polyfill或Polyfill.io有了它们,就可以向现代浏览器发送更小、更快的代码,因为它们不需要/很少需要polyfill(快速测试浏览器,动态加载所需的polyfill,然后启动我们应用程序的主脚本)。因此,使用这些现代技术似乎是绝对合理的。关于选择babel-minify或terse

javascript - 反向丑化的 Javascript 代码

我正在寻找一些javascript的反向Uglify的方法(最好是在线站点)。网址:http://jsbeautifier.org/对于精简代码非常有用,但对于丑陋的代码却不是很好。 最佳答案 有这个很棒的在线工具,JSNice,这可以很好地找到混淆变量的名称。WemakeevenobfuscatedJavaScriptcodereadable.Wewillrenamevariablesandparameterstonamesthatwelearnfromthousandsofopensourceprojects.Furthermo

javascript - UglifyJS 属性重整

根据文档,UglifyJS可以破坏除提供的保留列表中的所有属性名称。是否有可能以其他方式做到这一点,所以只有提供的列表中的属性才会被破坏?如果是这样,我需要将哪些选项传递给uglify.minify(files,{...})? 最佳答案 实现您正在寻找的那种白名单的一种(丑陋的)命令行方法可能是使用正则表达式选项。Youcanalsousearegularexpressiontodefinewhichpropertynamesshouldbemangled.Forexample,--mangle-regex="/^_/"willon

javascript - 如何使用 webpack 更改 `sourceMappingURL`

我的生产webpack配置是:{output:{publicPath:"https://cdn.example.com/sub-directory/",filename:'[name]-[chunkhash].min.js'},devtool:'source-map',plugins:[newwebpack.optimize.UglifyJsPlugin()]}现在我有两个文件app-12345.min.js和app-12345.min.js.map。我还为主脚本自动生成了CDNURLhttps://cdn.example.com/sub-directory/app-12345.min

javascript - 为什么 uglifyjs 不删除死代码?

例如,我有以下代码:if("a"!=="a"){console.log('really?');}vara=5;然后我写uglifyjscode.js-ocode.min.js。结果,我有以下内容:if("a"!=="a"){console.log("really?")}vara=5;如何启用删除if语句中的死代码? 最佳答案 尽管这个问题已经得到了公认的答案,但我认为值得一提的是UglifyJS2确实删除了死代码要打开此功能,您需要在CLI(uglifyjs--compressunused,dead_code)或options对象中