You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装Vuetify stylus相关loader后报错options.domAPI is not a function求助

问题原因

options.domAPI is not a function报错是手动安装的高版本style-loader@3.x和项目依赖的laravel-mix@6.x内置的loader版本冲突导致。laravel-mix已经内置了适配好的css-loader、style-loader等样式处理依赖,额外安装高版本会打破依赖匹配,导致样式加载逻辑执行异常。

解决步骤
  • 第一步:卸载冲突的额外依赖
    执行命令:
    npm uninstall --save-dev stylus stylus-loader css-loader style-loader
    你之前删除依赖后package.json里仍然存在上述包,说明未完成卸载,执行上面命令可以彻底清理。
  • 第二步:清理本地缓存文件
    删除项目根目录下的两个内容:
    • node_modules 文件夹
    • package-lock.json 锁文件
  • 第三步:重新安装全部依赖
    执行命令:
    npm install
额外说明:Vuetify全局变量修改正确方式

Vuetify 2.x版本已完全弃用stylus,改用Sass变量配置全局样式,不需要安装任何stylus相关依赖,正确配置方法如下:

  1. 新建自定义变量文件resources/sass/vuetify-variables.scss,写入你需要覆盖的Vuetify变量,示例:
$primary: #1976D2;
$secondary: #424242;
$body-font-family: 'Microsoft Yahei', sans-serif;
  1. 修改项目根目录下的webpack.mix.js配置,新增Vuetify相关配置:
mix.js('resources/js/app.js', 'public/js')
    .vue()
    .sass('resources/sass/app.scss', 'public/css')
    .options({
        vuetify: {
            customVariables: ['resources/sass/vuetify-variables.scss'],
            treeShake: true
        }
    });
  1. 移除你在Vuetify初始化文件中手动引入的vuetify/dist/vuetify.min.css,开启treeShake后会自动注入样式,重复引入会导致样式加载错误。

内容的提问来源于stack exchange,提问作者Jaeger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 16:36:03