如何在vue2.0中使用sass

admin0条评论 233 次浏览

背景

成功安装了sass!现在想把自己vue里面的css替换成scss!
你问我为什么!因为为了熟悉scss!后面再用vue等前端框架我就直接用scss!

解决

1.先换成淘宝镜像再安装

npm install -g cnpm --registry=https://registry.npm.taobao.org  (安装淘宝镜像)用淘宝镜像快!而且安装的时候减少出错!

cnpm install node-sass --save-dev  //安装node-sass
cnpm install sass-loader --save-dev  //安装sass-loader
cnpm install style-loader --save-dev  //安装style-loader 有些人安装的是 vue-style-loader 其实是一样的!

安装三个好麻烦!给你个快捷方式

$ cnpm install sass-loader node-sass vue-style-loader --D

安装style-loader时候死活找不到git粘贴复制的问题!然后停下手中的活!专心找!果然!百度都是过时的版本方法!最后还是自己一个一个看英文菜单的介绍!然后自己试!最后才发现!从别的地方复制的内容在git 2.1.3里面要用shift+insert 进行粘贴!我rininainia!这么偏远的键!

2. 这个时候你打开build文件夹下面的webpack.base.config.js
把里面的module改成这样的

module: {
    rules: [
      {
        test: /\.vue$/,
        loader: 'vue-loader',
        options: vueLoaderConfig
      },
      {
        test: /\.js$/,
        loader: 'babel-loader',
        include: [resolve('src'), resolve('test')]
      },
      {
        test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
        loader: 'url-loader',
        options: {
          limit: 10000,
          name: utils.assetsPath('img/[name].[hash:7].[ext]')
        }
      },
      {
        test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
        loader: 'url-loader',
        options: {
          limit: 10000,
          name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
        }
      },
      {  //从这一段上面是默认的!不用改!下面是没有的需要你手动添加,相当于是编译识别sass!
        test: /\.scss$/,
        loaders: ["style", "css", "sass"]
      }
    ]
  }

3.在需要用到sass的地方添加lang=scss

<style lang="scss" scoped="" type="text/css">
//你的sass语言

$primary-color: #333;

body {
  color: $primary-color;  //编译后就成了 color:#333;类似于js的变量!
}

</style>

跟多sass的用法!去学习吧!
sass和scss是两个不同的东西!只是相似!sass借鉴了ruby语言的规范很严格!代码里面也没有大括号!这对于习惯用css{}前端人员很难适应!于是就出现了scss!完美兼容css!还能有sass的功能!屌不屌!有自己的作用域和变量逻辑!相当于一样语言了!希望scss能发展的更好!

作者:飞奔的阿加西
链接:https://www.jianshu.com/p/8e60048baeb7
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。