Google Closure编译器版本给出错误Unhandled标志:outputManifest'

时间:2019-10-22 08:40:01

标签: angularjs makefile google-closure-compiler google-closure

尝试将Google闭包编译器实施到现有的angularjs项目。当我构建应用程序时,出现错误java.lang.RuntimeException:未处理的标志:outputManifest。

这是package.json:

"devDependencies": {
    "angular-mocks": "^1.7.8",
    "expect.js": "^0.3.1",
    "google-closure-compiler": "^20190909.0.0",
    "google-closure-deps": "^20190909.0.0",
    "google-closure-library": "^20190909.0.0",
    "karma": "^4.3.0",
    "karma-mocha": "1.3.0",
    "karma-phantomjs-launcher": "1.0.4",
    "less": "^3.10.3",
    "mocha": "^6.2.1",
    "ng-annotate": "1.2.2",
    "sinon": "^7.5.0"
  },
  "dependencies": {
    "angular": "^1.7.8",
    "angular-animate": "^1.7.8",
    "angular-translate": "^2.18.1",
    "bootstrap": "^3.4.1",
    "cesium": "^1.62.0",
    "jquery": "^3.4.1",
    "ol": "^6.0.1",
    "olcs": "^2.9.0",
    "proj4": "^2.5.0",
    "url-polyfill": "^1.1.7"
  }

这是错误:

{ Error: java.lang.RuntimeException: Unhandled flag: outputManifest
    at mQ.QN [as Dg] (/vagrant/source/node_modules/google-closure-compiler-js/jscomp.js:8941:25462)
    at mQ.TN [as Fg] (/vagrant/source/node_modules/google-closure-compiler-js/jscomp.js:8941:25657)
    at mQ.ON (/vagrant/source/node_modules/google-closure-compiler-js/jscomp.js:2802:48)
    at mQ.WN (/vagrant/source/node_modules/google-closure-compiler-js/jscomp.js:966:19)
    at new mQ (/vagrant/source/node_modules/google-closure-compiler-js/jscomp.js:967:19)
    at SHd (/vagrant/source/node_modules/google-closure-compiler-js/jscomp.js:8802:132)
    at DQ (/vagrant/source/node_modules/google-closure-compiler-js/jscomp.js:2286:29)
    at GQ (/vagrant/source/node_modules/google-closure-compiler-js/jscomp.js:3753:44)
    at /vagrant/source/node_modules/google-closure-compiler-js/jscomp.js:3971:46
    at CompilerJS.run (/vagrant/source/node_modules/google-closure-compiler/lib/node/closure-compiler-js.js:54:17)
    at getFilesFromStdin.then.inputFiles (/vagrant/source/node_modules/google-closure-compiler/cli.js:164:31)
    at process._tickCallback (internal/process/next_tick.js:68:7)
    at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
  '__java$exception':
   { g: null,
     e: 'Unhandled flag: outputManifest',
     backingJsObject: [Circular] } }

1 个答案:

答案 0 :(得分:0)

根据Closure Compiler的Flags and Option文档:

--output_manifest VAL [is] Not supported by the JavaScript version

虽然我在package.json中看不到closure-compiler-js,但在错误报告中确实看到您正在使用它进行编译。

at mQ.TN [as Fg] (/vagrant/source/node_modules/google-closure-compiler-js/jscomp.js:8941:25657)
                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^

因此,解决方案是停止使用JS版本或开始使用其支持的标志。