【建议收藏】如何在nuxt中使用scss?

3,554 阅读1分钟

这是一篇小小的踩坑记录,建议收藏。收藏了,万一哪天就用上了。

今天要写一个官网,就创建了一个nuxt项目。我记得以前nuxt项目是可以选css预处理器的,但是现在没有了。

安装依赖

在这里我使用的是scss,因为sass安装的时候,依赖会比较麻烦。

安装依赖如下:

npm install sass sass-loader @nuxtjs/style-resources --save -dev

配置

安装完毕之后,在nuxt.config.js中,做如下配置

export default {
    modules: [
        // https://go.nuxtjs.dev/axios
        '@nuxtjs/axios',
      + '@nuxtjs/style-resources',
    ],

    + styleResources: {
    +     scss: [
    +       '@/assets/_var.scss'
    +     ]
    + },
}

错误1:

此时启动项目, 会出现报错如下:

# 报错Rule can only have one resource source (provided resource and test + include + exclude) in

image.png

经过在网上查找,发现可能是因为webpack的版本高了。

于是我删除了当前的webpack版本,又安装了webpack4.x的版本

npm uninstall webpack

npm install webpack@^4.0.0 --save-dev

错误2:

再次运行代码,发现报错如下:

# TypeError: this.getOptions is not a function

image.png

再次搜索,发现是sass-loader版本不匹配。

于是删除我的v12版本的sass-loader,重新安装v10的sass-loader。

npm uninstall sass-loader

npm install sass-loader@10

结果

image.png

image.png

期望

其实降级不是最优解,但是项目时间紧张,我就没有再去寻找最优解了。

如果有哪位大佬,在新版本的情况下,可以解决,希望可以分享一下,我必定会去一键三连

----------------------------------华丽的分割线--------------------------------------------

听说 点赞带来好运