
Webpack CLI 报错 Unknown option '--env.mode=dev' 是因环境变量传参格式错误;正确写法应为 --env mode=dev(空格分隔),而非点号连接的 --env.mode=dev。
webpack cli 报错 `unknown option '--env.mode=dev'` 是因环境变量传参格式错误;正确写法应为 `--env mode=dev`(空格分隔),而非点号连接的 `--env.mode=dev`。
Webpack CLI 的 --env 参数用于向配置文件(如 webpack.config.js)传递环境变量,其标准语法为 --env <key>=<value></value></key>,键与值之间用等号连接,且 --env 与键值对之间必须用空格分隔。而 --env.mode=dev 是无效格式——CLI 会将其识别为一个名为 --env.mode=dev 的未知选项,从而触发报错。
✅ 正确用法示例(修改 package.json 中的脚本):
{
"scripts": {
"dev": "webpack serve --env mode=dev --mode development"
}
}
⚠️ 注意事项:
-
--env后不可加点号(.),如--env.mode=dev、--env.config=prod均非法; - 可同时传入多个环境变量,用空格分隔:
--env mode=dev --env target=client --env analyze=true; - 在
webpack.config.js中通过函数导出方式接收:module.exports = (env, argv) => { const { mode, target, analyze } = env; console.log('Build mode:', mode); // 'dev' return { mode: mode === 'dev' ? 'development' : 'production', // ...其他配置 }; }; - 若未使用函数式配置导出(即直接
module.exports = {...}),则env参数将不可用,务必确保配置是函数形式。
总结:该错误本质是 CLI 语法误用,修复只需将 --env.mode=dev 改为 --env mode=dev,并确认配置文件支持环境参数解析。查阅 Webpack CLI 环境选项文档 可进一步了解高级用法(如 JSON 格式传参、布尔值简写等)。










