基于vue中css预加载使用sass的配置方式详解


Posted in Javascript onMarch 13, 2018

1.安装sass的依赖包

npm install --save-dev sass-loader
//sass-loader依赖于node-sass
npm install --save-dev node-sass

2.在build文件夹下的webpack.base.conf.js的rules里面添加配置,如下红色部分

{ 
 test: /\.sass$/, 
 loaders: ['style', 'css', 'sass'] 
}
<span style="color:#454545;">// module用来解析不同的模块
 module: {
  rules: [
   ...(config.dev.useEslint ? [createLintingRule()] : []),
   {
    test: /\.vue$/,
    // 也就是说,对.js和.vue文件在编译之前进行检测,检查有没有语法错误'eslint-loader'
    // enforce: 'pre'选项可以确保,eslint插件能够在编译之前检测,如果不添加此项,就要把这个配置项放到末尾,确保第一个执行
    // 对vue文件使用vue-loader,该loader是vue单文件组件的实现核心,专门用来解析.vue文件的
    loader: 'vue-loader',
    // 将vueLoaderConfig当做参数传递给vue-loader,就可以解析文件中的css相关文件
    options: vueLoaderConfig
   },
   {
    test: /\.js$/,
    // 对js文件使用babel-loader转码,该插件是用来解析es6等代码
    loader: 'babel-loader',
    // 指明src和test目录下的js文件要使用该loader
    include: [resolve('src'), resolve('test')]
   },
   {
    test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
    // 对图片相关的文件使用 url-loader 插件,这个插件的作用是将一个足够小的文件生成一个64位的DataURL
    // 可能有些老铁还不知道 DataURL 是啥,当一个图片足够小,为了避免单独请求可以把图片的二进制代码变成64位的
    // DataURL,使用src加载,也就是把图片当成一串代码,避免请求,神不神奇??
    loader: 'url-loader',
    options: {
     // 限制 10000 个字节一下的图片才使用DataURL
     limit: 10000,
     name: utils.assetsPath('img/[name].[hash:7].[ext]')
    }
   },
   {
    test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
    // 字体文件处理,和上面一样
    loader: 'url-loader',
    options: {
     limit: 10000,
     name: utils.assetsPath('media/[name].[hash:7].[ext]')
    }
   },
   {
    test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
    loader: 'url-loader',
    options: {
     limit: 10000,
     name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
    }
   },
    </span><span style="color:#ff0000;">{
      test: /\.sass$/,
      loaders: ['style', 'css', 'sass']
    }</span><span style="color:#454545;">
  ]
 },</span>

3.修改模板里面的style lang="scss";例如模板红色标记

<style lang="scss">
<template>
  <div id="indexContent">
    <v-header></v-header>
    <div class="tab">
      <div class="tab-item">
        <!-- 使用 router-link 组件来导航. -->
        <!-- 通过传入 `to` 属性指定链接. -->
        <!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->
        <router-link to="/foods">商品</router-link>
      </div>
      <div class="tab-item">
        <router-link to="/rating">评论</router-link>
      </div>
      <div class="tab-item">
        <router-link to="/seller">商家</router-link>
      </div>
    </div>
    <!-- 路由出口 -->
    <!-- 路由匹配到的组件将渲染在这里 -->
    <router-view></router-view>
  </div>
</template>
<script type="text/ecmascript-6">
  import header from './components/header/header.vue';
  // 加default表示对整个模块进行导出
  export default{
    components: {
      'v-header': header
    }
  };
</script>
<span style="color:#cc0000;"><style lang="scss"></span>
  #indexContent {
    .tab{
      display: flex;
      width:100%;
      height: 40px;
      line-height: 40px;
      .tab-item {
        flex: 1;
        text-align: center;
        a{
          display:block;
        }
      }
    }
  }
</style>

4.npm run dev

5.效果

基于vue中css预加载使用sass的配置方式详解

以上这篇基于vue中css预加载使用sass的配置方式详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 拾碎[三] 使用className属性
Oct 16 Javascript
用XMLDOM和ADODB.Stream实现base64编码解码实现代码
Nov 28 Javascript
js获取客户端外网ip的简单实例
Nov 21 Javascript
JavaScript作用域与作用域链深入解析
Dec 06 Javascript
jquery 使用简明教程
Mar 05 Javascript
Jquery搜索父元素操作方法
Feb 10 Javascript
JavaScript实现判断图片是否加载完成的3种方法整理
Mar 13 Javascript
javascript基础知识分享之类与函数化
Feb 13 Javascript
浅析Node.js实现HTTP文件下载
Aug 05 Javascript
JavaScript正则表达式校验与递归函数实际应用实例解析
Aug 04 Javascript
vue制作toast组件npm包示例代码
Oct 29 Javascript
linux服务器快速卸载安装node环境(简单上手)
Feb 22 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
Mar 13 #Javascript
vue加载自定义的js文件方法
Mar 13 #Javascript
vue轮播图插件vue-concise-slider的使用
Mar 13 #Javascript
vue页面离开后执行函数的实例
Mar 13 #Javascript
Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
Mar 13 #Javascript
解决vue页面刷新或者后退参数丢失的问题
Mar 13 #Javascript
解决vue单页使用keep-alive页面返回不刷新的问题
Mar 13 #Javascript
You might like
一个数据采集类
2007/02/14 PHP
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
2012/07/15 PHP
一个php短网址的生成代码(仿微博短网址)
2014/05/07 PHP
php中实现记住密码下次自动登录的例子
2014/11/06 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
javascript读取RSS数据
2007/01/20 Javascript
深入理解JavaScript系列(3) 全面解析Module模式
2012/01/15 Javascript
两种方法实现文本框输入内容提示消失
2013/03/17 Javascript
JS中FRAME的操作问题实例分析
2014/10/21 Javascript
Javascript基础教程之JavaScript语法
2015/01/18 Javascript
JavaScript实现函数返回多个值的方法
2015/06/09 Javascript
jQuery实现带有洗牌效果的动画分页实例
2015/08/31 Javascript
javascript实现uploadify上传格式以及个数限制
2015/11/23 Javascript
高效的jquery数字滚动特效
2015/12/17 Javascript
jQuery validate插件实现ajax验证重复的2种方法
2016/01/22 Javascript
jQuery实现带水平滑杆的焦点图动画插件
2016/03/08 Javascript
浅谈Vue内置component组件的应用场景
2018/03/27 Javascript
使用FileReader API创建Vue文件阅读器组件
2018/04/03 Javascript
JavaScript常见JSON操作实例分析
2018/08/08 Javascript
微信小程序实现时间预约功能
2018/11/27 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
[01:14]DOTA2亚洲邀请赛 ShowOpen
2015/02/07 DOTA
举例讲解Python中is和id的用法
2015/04/03 Python
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
深入浅析python with语句简介
2018/04/11 Python
Python二进制串转换为通用字符串的方法
2018/07/23 Python
Python jieba结巴分词原理及用法解析
2020/11/05 Python
IE8下CSS3选择器nth-child() 不兼容问题的解决方法
2016/11/16 HTML / CSS
阿里云:Aliyun.com
2017/02/15 全球购物
思想政治自我鉴定
2013/10/06 职场文书
安全教育演讲稿
2014/05/09 职场文书
招标保密承诺书
2015/01/20 职场文书
CSS3 实现NES游戏机的示例代码
2021/04/21 HTML / CSS