首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UglifyJS2在.array上抛出文件(“保留文件”)

UglifyJS2在.array上抛出文件(“保留文件”)
EN

Stack Overflow用户
提问于 2016-07-21 00:02:44
回答 1查看 43关注 0票数 1

我用下面这行代码编写了一个简单的bash脚本,使用mishoo/UglifyJS2为我自动缩减一些存储库:

代码语言:javascript
复制
../bower_components/UglifyJS2/bin/uglifyjs src/* -c -m -o ${minifiedFile}

它在我的Mac上运行得很好,但我的同事无法运行它,并出现以下错误:

代码语言:javascript
复制
C:\Users\User\uabshp\bower_components\UglifyJS2\bin\uglifyjs:111
   .array("reserved-file")
    ^

TypeError: yargs.usage(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).describe(...).alias(...).alias(...).alias(...).alias(...).alias(...).alias(...).alias(...).alias(...).alias(...).alias(...).alias(...).string(...).string(...).string(...).string(...).string(...).string(...).string(...).string(...).string(...).string(...).string(...).string(...).string(...).string(...).string(...).string(...).string(...).string(...).array is not a function
   at Object.<anonymous> (C:\Users\User\uabshp\bower_components\UglifyJS2\bin\uglifyjs:111:6)
   at Module._compile (module.js:541:32)
   at Object.Module._extensions..js (module.js:550:10)
   at Module.load (module.js:458:32)
   at tryModuleLoad (module.js:417:12)
   at Function.Module._load (module.js:409:3)
   at Module.runMain (module.js:575:10)
   at run (bootstrap_node.js:352:7)
   at startup (bootstrap_node.js:144:9)
   at bootstrap_node.js:467:3

这是Windows兼容性问题,还是安装过程中缺少某些东西?为了让minify能够在Windows上运行,我已经不得不从compressJs切换到Windows。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-21 02:39:07

这不是一个完美的解决方案,但它对我来说是有效的。我删除了在UglifyJS2/bin/uglifyjs.js中引起麻烦的代码行。

第72行:

代码语言:javascript
复制
.describe("reserved-file", "File containing reserved names")

第77行:

代码语言:javascript
复制
.describe("pure-funcs", "List of functions that can be safely removed if their return value is not used")

。行号111-112:

代码语言:javascript
复制
.array("reserved-file")
.array("pure-funcs")

行号536-554:

代码语言:javascript
复制
ast.walk(new UglifyJS.TreeWalker(function(node){
        if (node instanceof UglifyJS.AST_Seq) return; // descend
        if (node instanceof UglifyJS.AST_Assign) {
            var name = node.left.print_to_string({ beautify: false }).replace(/-/g, "_");
            var value = node.right;
            if (constants)
                value = new Function("return (" + value.print_to_string() + ")")();
            ret[name] = value;
            return true;    // no descend
        }
        if (node instanceof UglifyJS.AST_Symbol || node instanceof UglifyJS.AST_Binary) {
            var name = node.print_to_string({ beautify: false }).replace(/-/g, "_");
            ret[name] = true;
            return true;    // no descend
        }
        print_error(node.TYPE)
        print_error("Error parsing arguments for flag `" + flag + "': " + x);
        process.exit(1);
    }));

删除的行将明显影响功能,但它仍然适用于我的目的。如果有人有更好的解决方案,我会记下来的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38485463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档