Webpack:用于非模块代码的全局变量

Webpack: Global var for use in non-module code

我正在尝试使用 Typescript UMD 模块(当 require() 不存在时不会回退到全局变量)和不在任何模块模式中的遗留代码。

我希望 Webpack 有一个加载器或插件可以为特定模块创建全局变量(而不是将它们作为模块加载)。

例如我在 Node 包中有 Typescript UMD 模块:

node_modules/my-new-module

导出一个函数

myNewFunction(){ }

我想在我的遗留代码中使用它作为:

myNewModule.myNewFunction(); //myNewModule is a global variable

目前我最好的解决方案是加载我所有的共享模块并手动将它们分配给全局变量。当然这并不理想。

Webpack 可以做到吗?还有其他解决方案吗?

谢谢

使用 Webpack,您可以将模块公开为库(将生成全局变量):

If library is set and libraryTarget is not, libraryTarget defaults to var as specified in the output configuration documentation. See output.libraryTarget there for a detailed list of all available options.

看这里:https://webpack.js.org/guides/author-libraries/#add-librarytarget