类型错误:compiler.plugin不是一个函数,在ReactLoadablePlugin中使用。

19

我想使用Webpack和React Loadable在ReactJs中实现SSR。下面是package.json文件的几行:

const { ReactLoadablePlugin } = require('react-loadable/webpack');
plugins:[
    new ReactLoadablePlugin({
        filename: path.resolve(__dirname, 'dist', 'react-loadable.json')
    }),
]

但我遇到了以下错误:

> [webpack-cli] TypeError: compiler.plugin is not a function
at ReactLoadablePlugin.apply

我该如何解决这个问题?


你能提供更多代码来帮助读者了解这个错误可能是如何引起的吗? - halfer
你是否已经使用npm安装了ReactLoadablePlugin包? - Anastasis
我最近将webpack从v4升级到v5,但是我也遇到了同样的问题。 - Sushmit Sagar
你能解决这个问题吗? 如果是的话,请提供解决方案。 - undefined
2个回答

23

我遇到了相同的错误,但是是在使用Webpack 5中的webpack-shell-plugin模块时出现的,所以我的解决方法是删除webpack-shell-plugin并添加webpack-shell-plugin-next

npm install --save-dev webpack-shell-plugin-next

webpack.config.js文件:

const WebpackShellPluginNext = require('webpack-shell-plugin-next');

module.exports = {
 ...
plugins: [
    new WebpackShellPluginNext({
      onBuildStart:{
        scripts: ['echo "===> Starting packing with WEBPACK 5"'],
        blocking: true,
        parallel: false
      },
      onBuildEnd:{
        scripts: ['npm run yourCommand'],
        blocking: false,
        parallel: true
      }
    })
  ]
}

我希望这个修复方法能够帮助您或者帮助别人。


9
问题可能是你试图在Webpack 5中使用Webpack 4插件,因为Webpack的错误信息不够明确。请尝试升级ReactLoadablePlugin插件。

1
我的版本已经是最新的5.5.0,但我仍然遇到了同样的问题。"webpack": "^5.75.0" 和 "webpack-cli": "^5.0.1"。 - Sushmit Sagar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接