无法读取未定义的 Webpack Bootstrap React 的 属性 'call'

Cannot read property 'call' of undefined Webpack Bootstrap React

我遇到了其他人也遇到过的问题。我 运行 遇到的唯一问题是我找到的所有解决方案似乎都不适合我。当我构建我的项目时,一切都成功而没有错误。然后我在我的 dist 文件夹中的构建项目上启动 webpack-dev-server。当我打开浏览器时,我收到以下错误:

现在,当我 运行ning webpack-dev-server 处于开发模式时,不会发生这种情况。简单的解释是因为我没有在我的 webpack.config.dev.js 文件中执行任何代码拆分。所以我知道问题出在我的 CommonsChunkPlugin 上。我只是无法确定原因。这是我正在处理的回购协议的 link: Nappstir/react-landing-page。这个项目没有什么复杂的。我只是想为将在 React 中构建的基本登录页面构建一个模板,因此没有连接 Redux。关于什么可能导致此错误的任何想法?

您可以克隆此项目并简单地 运行 npm installnpm run build 来构建项目。然后只需访问'http://localhost:3000/`

我实际上找到了发生此错误的原因。看来问题与我的 html-webpack-plugin 注入文件的文件顺序有关。解决这个问题的方法是使用 html-webpack-plugin 提供的 chunks & chunksSortMode 属性。代码看起来像这样:

chunks: ['manifest', 'vendor', 'main'],
chunksSortMode: function (a, b) {
  let orders = ['manifest', 'vendor', 'main'];
  if (orders.indexOf(a.names[0]) > orders.indexOf(b.names[0])) {
    return 1;
  } else if (orders.indexOf(a.names[0]) < orders.indexOf(b.names[0])) {
    return -1;
  } else {
    return 0;
  }
},

然后 returns 每个块按您的 chunks 数组的指定顺序排列。

chunks: ['manifest', 'vendor', 'main'],
chunksSortMode: function (a, b) {
 const orders = ['manifest', 'vendor', 'main'];
 return orders.indexOf(a.names[0]) - orders.indexOf(b.names[0]);
}

根据@Nappstir 的说法,这会更好

我解决了升级到 Babel 7 的问题 https://babeljs.io/docs/en/v7-migration。使用命令 npx babel-upgrade