我正在使用 webpack - v5.90.3、webpack-cli - v5.1.4、webpack-dev-server - v5.0.2
在我的 webpack.config.dev.js 中:
const path = require('path');
const webpack = require('webpack');
module.exports = {
mode: 'development',
devtool: 'cheap-module-source-map',
devServer: {
static: path.join(__dirname, 'public/'),
devMiddleware: {
publicPath: '/dist/'
},
port: 3000,
hot: "only"
},
entry: [
require.resolve('react-dev-utils/webpackHotDevClient'),
paths.appIndexJs,
],
output: {
path: paths.appBuild,
pathinfo: true,
filename: 'SHSADCAA/static/js/bundle.js',
chunkFilename: 'SHSADCAA/static/js/[name].chunk.js',
publicPath: publicPath,
devtoolModuleFilenameTemplate: info =>
path.resolve(info.absoluteResourcePath).replace(/\\/g, '/'),
},
optimization: {
splitChunks: {
chunks: 'all',
name: false,
},
runtimeChunk: true,
},
resolve: {
process.env.NODE_PATH.split(path.delimiter).filter(Boolean)
),
'react-native': 'react-native-web',
},
plugins: [
PnpWebpackPlugin,
new ModuleScopePlugin(paths.appSrc, [paths.appPackageJson]),
],
},
resolveLoader: {
plugins: [
PnpWebpackPlugin.moduleLoader(module),
],
},
我收到此错误:
无效的选项对象。开发服务器已使用与 API 架构不匹配的选项对象进行初始化。
我正在尝试从 v3 迁移到 v5,但我仍然停留在这个问题上。
有示例问题,github 存储库上有一个线程。 https://github.com/webpack/webpack-cli/issues/2894
就我而言,我有在 webpack 开发服务器下启动应用程序的脚本。 而且好像必须先传配置对象,然后才传编译器。
这不起作用:
const webpackDevServer = new WebpackDevServer(compiler, { port: 5000, open: true, liveReload: true });
这有效:
const webpackDevServer = new WebpackDevServer({ port: 5000, open: true, liveReload: true }, compiler);
您的情况可能有所不同,但我在(1)方法中遇到了同样的错误。