两周来,我一直在尝试使用闭包编译器来优化和捆绑一个项目。
该项目最初是用TypeScript编写的。所以我想使用Tsickle转换成JS,这样就可以很容易地提供给闭包编译器Java app。当我最终能够做到这一点时,我偶然发现了外部Node模块的问题。我尝试了我能在Google Groups中找到的所有解决方案,因此在闭包编译器repo中也是如此。什么都不管用。
为了不让这件事过去,我决定使用吞咽。这是我的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*我对项目中的几乎每个文件都有此功能,即使名称在同一文件中不会重复两次。
发布于 2020-11-19 16:45:39
你可以试试tscc。
发布于 2020-12-25 11:36:24
尝试使用--env CUSTOM或--isolation_mode IIFE。在编译与Node等浏览器界面冲突的代码时,我遇到了这个问题。
https://stackoverflow.com/questions/64824219
复制相似问题