如何在浏览器的 JavaScript 控制台中访问 ES6 模块中定义的函数?

How to access functions defined in ES6 module in a browser's JavaScript console?

我有一个在 ES6 模块 (sender.js) 中定义的函数,如下所示:

function send() {
   // do stuff
}
export {send};

此模块随后在应用程序的主 JavaScript 文件 app.js 中使用,如下所示:

import {send} from "./sender"

send 函数在 app.js 文件中可用,但是 它在 Firefox 的 Javascript 控制台中 不可用:

> send
ReferenceError: send is not defined

如何在 JavaScript 控制台中导入 send 功能?

您可以通过将特定函数分配给全局对象来将其设置为全局函数 – 在浏览器中是 window.

import {send} from "./sender";
window.send = send;

请注意,虽然它可能对调试有用,但您不应该在生产代码中使用它 – 请参阅 Why are global variables considered bad practice?