vue scss 使用 script 中的变量_夏哥哥事件簿 — VUE 使用 vue-loader 报错及解决(在vue里使用scss)...

之前一直使用angular写项目,css使用的是SCSS。

后来使用VUE写CSS,写习惯 SCSS 后总觉得不方便。但由于 VUE 本身不支持 SCSS 写法,需要安装vue-loader才能在 VUE 文件及样式文件里使用 SCSS 。于是有了这次记录。


首先 官方的介绍文档

介绍 | Vue Loader​vue-loader.vuejs.org

016c8e940b6cb88916e3899f26415dbc.png
npm 

af72198e91a5d88b24ed624a0e817dc5.png
npm install -D sass-loader node-sass

ae8ef8a72d06befd46a20cc2089ebb97.png

我没有 webpack.config.js 这个文件,只有三个文件

79e3b5dffd33ee39e3535c6014a11322.png

所以在 webpack.base.conf.js 内进行修改。

//base是另外两个的公共js,所以在这里修改。

rules 里的代码换成这段

f850ca4bc9ee3b9d61b49452c6bc5987.png
{
  test: /.sass$/,
  use: [
    'vue-style-loader',
    'css-loader',
    {
      loader: 'sass-loader',
      options: {
        indentedSyntax: true,
        // sass-loader version >= 8
        sassOptions: {
          indentedSyntax: true
        }
      }
    }
  ]
}

接着npm run dev 运行代码就会报

Error: Cannot find module 'vue-loader/lib/plugin'

由于vue-loader包里不存在plugin,所有报这个问题。

解决方法是在 package.json 里把 vue-loader 的版本更换为 ^15.9.2

"vue-loader": "^15.9.2",

接着升级本地vue-loader

npm install --force

接着npm run dev 运行代码就会报(二度)

TypeError: this.cacheable is not a function

sass-loader版本过高,没有 cacheable 函数,替换为 ^7.3.1

 "sass-loader": "^7.3.1",

这样就好了,在 VUE 文件里使用时记得。

<style lang="scss">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值