gpt4 book ai didi

javascript - 如何使用 Closure Compiler 优化 Javascript 并保留函数名称?

转载 作者:行者123 更新时间:2023-11-30 17:53:38 34 4
gpt4 key购买 nike

我有一个 javascript 文件 (lib.js),我想使用其中的一些在网页中运行,但我不想加载完整的 lib.js。

但是,我还没有弄清楚如何做我想做的事。我想要使用命令行。

lib.js

function dog() {
return 'Fido';
}

function famous_human() {
return 'Winston';
}

function human() {
return famous_human();
}

lib.js 中的代码调用函数

alert(human());

期望的结果,lib-compiled.js

function a() {return 'Winston';}function human() {return a();}
  • 功能狗已被删除,因为我不使用它。
  • 函数 famous_human 已优化。
  • 函数 human 有它的原始名称,因为我想从其他代码调用它。
  • 没有来自 code-calling-functions-in-lib.js 的代码

.

java -jar compiler.jar --compilation_level ADVANCED_OPTIMIZATIONS --js lib.js --XXXXXXXX code-calling-functions-in-lib.js --js_output_file lib-compiled.js    

我的问题有简单的答案吗?

最佳答案

你可以导出人:

function human() {
return famous_human();
}

window['human'] = human;

More information on exports

由于导出符号会阻止消除死代码,因此最佳做法是将特定于项目的导出保存在单独的文件中,而不是包含在您的库中。

例子

库源 - liba.js

function dog() {
return 'Fido';
}

function famous_human() {
return 'Winston';
}

function human() {
return famous_human();
}

项目特定导出 - project_exports.js

window['human'] = human;

编译命令

java -jar compiler.jar \
--compilation_level ADVANCED_OPTIMIZATIONS \
--js liba.js \
--js project_exports.js \
--js project_source.js \
--js_output_file project_compiled.js

关于javascript - 如何使用 Closure Compiler 优化 Javascript 并保留函数名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18469174/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com