我对 .css、.js 文件有以下 webpack 配置设置:
const cssLoaders = (extra) => {
const loaders = [{
loader: MiniCssExtractPlugin.loader,
options: {
hmr: isDev,
reloadAll: true
}
},
{
loader: require.resolve('css-loader'),
options: {
importLoaders: 1,
modules: {
localIdentName: '[path][name]__[local]--[hash:base64:5]',
},
}
},
];
if (extra) {
loaders.push(extra);
}
return loaders;
};
const filename = ext => isDev ? `[name].${ext}` : `[name].[contenthash].${ext}`;
.
.
.
module.exports = {
context: path.resolve(__dirname, 'src'),
mode: 'development',
entry: {
main: ['@babel/polyfill', './index.jsx']
},
output: {
filename: filename('js'),
path: path.resolve(__dirname, 'dist')
},
.
.
.
plugins: [
new MiniCssExtractPlugin({
filename: filename('css'),
})
],
.
.
.
module: {
rules: [
{
test: /\.css$/,
use: cssLoaders()
},
{
test: /\.less$/,
use: cssLoaders('less-loader')
},
{
test: /\.s[ac]ss$/,
use: cssLoaders('sass-loader')
},
.
.
.
问题是当我使用新路径(/car/model/:id)添加新页面(反应组件)时,我看到网络服务器找不到文件的错误:
我还有带有以下路由代码的根应用程序组件:
class Application extends Component {
constructor(props) {
super(props);
}
render() {
return (
<div className={Styles.container}>
<Switch>
<Route exact path="/" component={Catalogue} />
<Route exact path="/cars/model/:id" component={CarModel} />
<Route path="*" component={NotFound} />
</Switch>
</div>
);
}
}
主页面一切正常,渲染良好。
<Route exact path="/" component={Catalogue} />
我应该改变什么来修复它<Route exact path="/cars/model/:id" component={CarModel} />?

