当前位置:  开发笔记 > 编程语言 > 正文

在webpack中创建全局功能

如何解决《在webpack中创建全局功能》经验,为你挑选了1个好方法。

我正在使用webpack制作一个打字稿插件.一切都运作良好,但我有一个问题,从外面看到它.例如,我有文件:

/* ./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 */

...

...







有了这个,我得到了Uncaught ReferenceError: init is not defined.在捆绑文件中我可以看到这个函数不是全局的,但在其他函数中是这样的:

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

如何公开这个功能?



1> lorefnon..:

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

window.init = init;

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


is this really the only solution to make the the functions of a module visible outside itself if I am going to bundle them with webpack? I am working on a large project and can't possibly go and change this by adding `windows.functionname = functionname;` for each one. Is there a better solution for a case like mine?
推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有