Webpack配置报错求助:entry与resolve.modules配置问题
Webpack配置错误修复
问题分析
你遇到了两个核心配置错误:
- Entry配置中重复使用
path键,导致语法/逻辑冲突; resolve.modules被配置为对象,不符合Webpack API要求(必须为数组类型)。
错误修复细节
1. 修复Entry配置
Webpack的Entry支持多种合法格式:
- 单入口:直接传入字符串或数组
- 多入口:使用对象(键为入口名称,值为对应文件路径)
你当前的Entry配置因重复path键会导致路径被覆盖,同时格式不符合规范,修改为多入口命名格式:
entry: { app: path.join(dirApp, 'index.js'), styles: path.join(dirStyles, 'index.scss'), }
若不需要区分入口名称,也可使用数组格式:
entry: [ path.join(dirApp, 'index.js'), path.join(dirStyles, 'index.scss'), ]
2. 修复resolve.modules配置
resolve.modules必须是数组,用于指定Webpack查找模块的目录列表,修改为:
resolve: { modules: [ dirApp, dirAssets, dirStyles, dirNode ] }
完整修正后的配置代码
const webpack = require('webpack') const path = require('path'); const CopyWebpackPlugin = require('copy-webpack-plugin') const MiniCssExtractPlugin = require('mini-css-extract-plugin') const IS_DEVELOPMENT = process.env.NODE_ENV === 'dev' const dirApp = path.join(__dirname, 'app') const dirAssets = path.join(__dirname, 'assets') const dirStyles = path.join(__dirname, 'styles') const dirNode = 'node_modules' module.exports = { entry: { app: path.join(dirApp, 'index.js'), styles: path.join(dirStyles, 'index.scss'), }, resolve: { modules: [ dirApp, dirAssets, dirStyles, dirNode ] } }
内容的提问来源于stack exchange,提问作者Kuniooo
相关产品推荐
相关产品推荐

