仅在 UMD 包中执行注入逻辑

execute injecting logic only in UMD bundle

我的库使用 React nwb 工具包,我也使用 UMD 包。

所以对于 UMD 包大小优化,我通过“脚本”标签注入组件之一,并且只有在使用 UMD 包时才需要这种注入,因为在正常的库中,这个库来自依赖项。

我该怎么做?可能有一些“过程”变量,它会“说”它是一个 UMD 构建。

解决方案:

umd.js(umd 包处理程序)

window.isUmdBundle = true;

index.js(模块包处理程序)

window.isUmdBundle = false;

component.js

if(window.isUmdBundle) {
   // ...code
}

因为 nwb 允许我们使用 webpack 配置。 我认为一个好方法是传递类似于 webpack.config

我会添加到 nwb.config.js

webpack: {
    extra: {
        externals: {
            // Use external version of Jodit
            jodit: 'Jodit',
        }
    }
 }