2016-07-20 4 views
1

私は、自動的にこのコード行でmishoo/UglifyJS2を使用して私のためにいくつかのリポジトリを縮小化するために、簡単なbashスクリプトを書いた:UglifyJS2は(「予約済みファイル」).ARRAYにはTypeErrorを投げる

../bower_components/UglifyJS2/bin/uglifyjs src/* -c -m -o ${minifiedFile} 

それは上の素晴らしい作品私のMacが、私の同僚は、次のエラーでそれを実行することができません:

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との互換性の問題であるかのセットアップで不足している何かがあるのでしょうか?私はすでにcompressJsからWindowsで縮小版を動作させるために切り替えなければなりませんでした。

答えて

0

これは完璧な解決策ではありませんが、私のために働きます。私はUglifyJS2/bin/uglifyjs.jsで私のトラブルを引き起こす行を削除しました。

行番号72:

.describe("reserved-file", "File containing reserved names") 

行番号77:

.describe("pure-funcs", "List of functions that can be safely removed if their return value is not used") 

。 行番号111-112:

.array("reserved-file") 
.array("pure-funcs") 

行番号536から554:

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); 
    })); 

削除された行は明らかに機能性に影響を与えるだろうが、それはまだ私の目的のために動作します。誰かがより良い解決策を持っているなら、私はそれに印をつけます。

関連する問題