【发布时间】:2020-11-13 16:10:31
【问题描述】:
我已经尝试使用闭包编译器来优化和捆绑项目两周了。
该项目最初是用 TypeScript 编写的。所以我想使用Tsickle 转译成可以很容易地输入到闭包编译器Java 应用程序的JS。当我终于能够做到这一点时,我偶然发现了外部节点模块问题。我尝试了在 Google Groups、SO 和闭包编译器存储库中找到的所有解决方案。没有任何效果。
不想放过这个,我决定使用 gulp。这是我的 gulpfile.js,我尽量保持简单。
const closureCompiler = require("google-closure-compiler").gulp();
gulp.task("js-compile", function () {
return gulp
.src("./src/**/*.js", { base: "./" })
.pipe(
closureCompiler(
{
compilation_level: "ADVANCED",
warning_level: "VERBOSE",
jscomp_off: "checkVars",
js_output_file: "output.min.js"
},
{
platform: ["native", "java", "javascript"]
}
)
)
.pipe(gulp.dest("./dist/js"));
});
输入文件太多,我放不下。这次我使用 TSC 而不是 Tsickle 进行编译。 运行 gulp 时我得到的错误是
[JSC_REDECLARED_VARIABLE_ERROR] Illegal redeclared variable: *nameofvariable*
我的项目中几乎每个文件都有这个,即使名称在同一个文件中没有重复两次。
【问题讨论】:
标签: javascript typescript gulp google-closure-compiler