问题描述
我正在使用 Closure 编译器来编译一个 JavaScript 文件以及几个非常简单的 ES6 模块。
demo.js
sizeof
adder.js
import {add} from "../modules/adder.js";
import {subtract} from "../modules/subtractor.js";
console.log(add(6,5));
console.log(subtract(6,5));
subtractor.js
export function add(num1,num2) {
return num1 + num2;
}
编译器输出的 JavaScript 文件是一个大文件(大于输入)并且包含很长的变量名称,例如以下示例:
export function subtract(num1,num2) {
return num1 - num2;
}
这正常吗?
我不关心文件大小,但如果在生产中使用此代码,它会不必要地暴露我的开发机器文件结构,包括我的用户名。
解决方法
有一个命令行选项 --js_module_root
可用于指定要从 ES6 模块中删除的路径前缀。如果使用,变量名称将更短,并且只会到达该路径。