gpt4 book ai didi

javascript - 在 webpack 中创建全局函数

转载 作者:可可西里 更新时间:2023-11-01 02:37:33 25 4
gpt4 key购买 nike

我正在用 webpack 制作一个 typescript 插件。一切正常,但我无法从外部看到它。例如,我有文件:

/* ./src/a.ts */
class A {
constructor(args) {...}
}
export default A;

/* ./src/app.ts */
import A from "./a.ts";
function init(args) {
new A(args);
}
export { init };

/* ./index.html */
<html>
<head>...</head>
<body>
...

<!-- webpack bundle ts files into ./dist/app.js -->
<script src="./dist/app.js"></script>
<script>init({...});</script>

</body>
</html>

有了这个,我得到了 Uncaught ReferenceError: init is not defined。在捆绑文件中,我可以看到这个函数不是全局函数,而是在其他函数内部,如下所示:

/* 1 */
/***/ function(module, exports) { ... }

如何公开这个函数?

最佳答案

从模块导出不会使实体成为全局实体。您可以直接将其作为成员添加到窗口:

window.init = init;

或者,更好的是,将 init 调用移动到 typescript 模块 - 在这种情况下,它应该是您的 webpack 入口点。

关于javascript - 在 webpack 中创建全局函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41797042/

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