从 Webpack 3 迁移到 Webpack 4

Posted

技术标签:

【中文标题】从 Webpack 3 迁移到 Webpack 4【英文标题】:Migrating to Webpack 4 from Webpack 3 【发布时间】:2019-02-26 01:46:06 【问题描述】:

我正在尝试迁移到 Webpack 4,但这真的很痛苦。经过几天努力将 Webpack 3 插件迁移到 Webpack 4 原生的东西上,我得到了 js 应该可以很好地呈现,但是当我访问我的网站时,我在控制台上收到了这条消息:

Uncaught TypeError: (intermediate value)(intermediate value).push is not a function

开启:

(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["Index"],

这是我的 Webpack output 设置:

output: 
    filename,
    path: path.resolve(__dirname, 'public', 'build', 'js'),
    jsonpFunction: 'webpackJsonp', // TODO gotta figure that out
,

我做错了什么?

【问题讨论】:

你能告诉我们你的整个 webpack 文件吗? 我写了一篇关于设置webpack 4的文章,希望对medium.freecodecamp.org/…有帮助 为什么需要非默认的 jsonpFunction? 【参考方案1】:

刚遇到同样的问题,我发现了这个帖子https://github.com/webpack/webpack/issues/6985

当您将模块与 Webpack

output.jsonpFunction https://webpack.js.org/configuration/output/#output-jsonpfunction 更改为jsonpFunction 解决了它:


  output: 
    jsonpFunction: 'jsonpFunction',
    ...
  

感谢 @sokra(Webpack 的创建者):https://github.com/webpack/webpack/issues/6985#issuecomment-380795070

【讨论】:

顺便说一句,我在使用 React-Loadable 进行代码拆分时遇到了问题 非常感谢这个答案。我一直在努力寻找解决方案。我在同一页面上的两个版本有同样的问题。一个项目是使用 webpack 3 的旧项目,另一个是新项目。 很高兴它有帮助,这是一个很难调试的问题

以上是关于从 Webpack 3 迁移到 Webpack 4的主要内容,如果未能解决你的问题,请参考以下文章

Webpack 4 迁移 CommonsChunkPlugin

Angular Webpack 设置:使用 webpack 从 css 迁移到 sass

如何从 webpack v1 迁移到 webpack v2

markdown Laravel 5.4:从gulp迁移到webpack

迁移到webpack4:从webpack.optimize.CommonsChunkPlugin到config.optimization.splitChunk,以及有个搜出来的中文解决办法是错的

Fis3构建迁移Webpack之路