Webpack 使用来自 CDN 的外部模块

Webpack using external modules from CDN

我正在将 React 与 Redux 用于应用程序,并使用 Webpack 进行捆绑。我想从 CDN 加载一些库而不是捆绑它们。这适用于 React 和 ReactDOM,但我无法在没有全局导出的情况下使其适用于 redux 和其他库。这是我当前在 Webpack 配置中的外部部分:

       externals: [
          { "react": "React" },
          { "react-dom": "ReactDOM" },
          {
              "redux": {
                  commonjs: "redux",
                  commonjs2: "redux",
                  amd: "redux"
              }
          }
        ]

在 HTML 我有一个 redux CDN 的参考:

<script src="https://cdnjs.cloudflare.com/ajax/libs/redux/3.6.0/redux.min.js"></script>

这是我收到的错误:

Uncaught TypeError: Cannot read property 'combineReducers' of undefined
    at Object.__webpack_exports__.a (ui.ts:10)
    at __webpack_require__ (bootstrap 749616a…:19)
    ...

我对模块没有太多经验,所以也许我遗漏了一些简单的东西,或者根本不可能。

试试 Redux(而不是 redux)。 CDN 文件导出 Redux,这就是您可能在代码中引用它的方式。

externals: [
  { "react": "React" },
  { "react-dom": "ReactDOM" },
  { "redux": "Redux"}
]