首页 > 解决方案 > 使用 Google 闭包编译器时如何在输出中保留 export{my_function}

问题描述

我有一个简单的任务。输入是这样的:

function my_function()
{
}
export {my_function};

我想保留输出中的行:

export {my_function};

动机是稍后在我的脚本中使用输出。

<javascript type="module">
    import {my_function} from 'my_compiled.js';
</javascript>

我尝试了很多选项,但输出文件中没有“导出”语句。你能帮我实现吗?

谢谢。

标签: google-closure-compiler

解决方案


正如Closure Compiler docs中所解释的,您应该在全局对象上设置导出:

function my_function()
{
}

window["my_function"] = my_function;

export {my_function};

然后:

<javascript type="module">
    var my_function = window.my_function;
</javascript>

请注意,在全局对象上设置导出时需要使用数组访问器,以便 Closure Compiler 不会重命名它:window["my_function"] = ..


推荐阅读