运行npm run dev报BrowserslistError: Unknown browser query `dead`如何解决
问题原因
BrowserslistError: Unknown browser query 'dead' 是版本不兼容导致的:
- 你项目中使用的
laravel-mix@2.x内置的browserslist版本过低,不支持dead这个浏览器范围查询关键字 - 你安装的
admin-lte@3.x依赖的 postcss 相关包默认使用了包含dead的查询规则,旧版本的 browserslist 无法识别该规则,因此抛出构建错误
解决方案
按实施成本从低到高排序,优先尝试第一个方案:
方案1:新增 browserslist 配置覆盖默认规则
在你的 package.json 根层级(和 scripts、dependencies 字段同级)添加以下配置:
"browserslist": [ "last 2 versions", "not ie <= 11" ]
配置完成后按顺序执行以下操作:
- 删除项目根目录的
node_modules文件夹 - 删除项目根目录的
package-lock.json(npm用户)或yarn.lock(yarn用户)文件 - 执行
npm install重新安装依赖 - 执行
npm run dev验证构建是否正常
方案2:强制升级 browserslist 到兼容版本
如果方案1未生效,可以强制将项目中所有依赖用到的 browserslist 升级到支持 dead 关键字的 4.x 以上版本:
npm 用户操作步骤:
- 在 package.json 根层级新增
resolutions字段:
"resolutions": { "browserslist": "^4.21.0" }
- 依次执行命令:
npx npm-force-resolutions npm install npm run dev
yarn 用户操作步骤:
- 同上新增
resolutions字段 - 直接执行
yarn install即可
方案3:降级 admin-lte 版本
如果不想改动构建相关配置,也可以将 admin-lte 降级到不使用 dead 查询规则的 2.x 版本:
npm uninstall admin-lte npm install admin-lte@^2.4.18 npm run dev
内容的提问来源于stack exchange,提问作者someone
相关产品推荐
相关产品推荐

