类型错误:compiler.plugin 不是 ReactLoadablePlugin.apply 的函数

Sam*_*Sam 11 reactjs webpack webpack-4 webpack-cli

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

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

但我收到以下错误:

> [webpack-cli] TypeError: compiler.plugin is not a function
at ReactLoadablePlugin.apply
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

syd*_*ydd 10

问题很可能是您尝试将 Webpack 4 插件与 Webpack 5 一起使用,只是 Webpack 有无信息的错误消息。尝试升级ReactLoadablePlugin。


小智 6

我有同样的错误,但 在NodeJs 中使用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
      }
    })
  ]
}
Run Code Online (Sandbox Code Playgroud)

我希望此修复程序可以帮助您或可以帮助某人。