我有2个javascript文件,每个文件都有一个变量'让记录器'在文件范围内。并且file2导入file1。
let logger;
mod = require("./file1.js);
let logger;
Javascript解析器(nodejs)为let变量(而不是全局范围)创建文件范围。但JSC_REDECLARED_VARIABLE_ERROR在闭包编译器中抛出。
有没有办法抑制此错误?
答案 0 :(得分:1)
JS解析器不为任何类型的变量创建文件范围。 NodeJS文件是具有唯一范围的模块。如果您的文件作为模块处理,则会给它一个唯一的范围。
对于commonJS模块,使用编译器的--process_common_js_modules
标志将识别并捆绑CommonJS模块。
然而,Closure Compiler主要用于定位浏览器。它目前不是为了正确捆绑以NodeJS为目标的代码而设计的 - 尽管有些用户仅对Node使用类型检查功能。