使用 Google 闭包编译器时如何在输出中保留 export{my_function}

How to preserve export{my_function} in the output when using the Google closure compiler

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

function my_function()
{
}
export {my_function};

我想保留输出中的行:

export {my_function};

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

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

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

谢谢。

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"] = ..