I am using webpack: 5.71.0 webpack-cli: 4.9.2 webpack-dev-server 4.8.1
in my webpack.config.js
const path = require('path');
const webpack = require('webpack');
module.exports = {
entry: './src/index.js',
mode: 'development',
module: {
rules: [{
test: /\.(js|jsx)$/,
exclude: /(node_modules)/,
loader: 'babel-loader',
options: { presets: ["@babel/env"] }
},
{
test: /\.css$/,
use: ["style-loader", "css-loader"]
}
]
},
resolve: { extensions: ['*', '.js', '.jsx'] },
output: {
path: path.resolve(__dirname, 'dist/'),
publicPath: '/dist/',
filename: './bundle.js'
},
devServer: {
static: path.join(__dirname, 'public/'),
publicPath: 'http://localhost:3000/dist/',
port: 3000,
hot: "only"
},
plugins: [new webpack.HotModuleReplacementPlugin()]
};
I got the following error [webpack-cli] Invalid options object. Dev Server has been initialized using an options object that does not match the API schema.
what is the new alternative to publicPath?
You probably don't need to set publicPath in the devServer configuration at all; it's probably read from output.publicPath.
Try to just get rid of it and see if things still work. (They should.)