基于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里写一个swing把数据插入数据库
Dec 10 Javascript
基于jQuery实现的文字按钮表单特效整理
Dec 07 Javascript
javascript文件加载管理简单实现方法
Jul 25 Javascript
jQuery弹出遮罩层效果完整示例
Sep 13 Javascript
JavaScript reduce和reduceRight详解
Oct 24 Javascript
Form表单按回车自动提交表单的实现方法
Nov 18 Javascript
JS 调用微信扫一扫功能
Dec 22 Javascript
关于vue.js发布后路径引用的问题解决
Aug 15 Javascript
vue 多入口文件搭建 vue多页面搭建的实例讲解
Mar 12 Javascript
Moment.js实现多个同时倒计时
Aug 26 Javascript
jQuery实现聊天对话框
Feb 08 jQuery
原生js拖拽功能制作滑动条实例代码
Feb 05 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
利用PHP制作简单的内容采集器的代码
2007/11/28 PHP
php 文件缓存函数
2011/10/08 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
2015/01/09 PHP
大家都应该掌握的PHP关联数组使用技巧
2015/12/25 PHP
深入理解PHP中的empty和isset函数
2016/05/26 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
2018/12/08 PHP
jquery实用代码片段集合
2010/08/12 Javascript
基于Jquery+Ajax+Json的高效分页实现代码
2011/10/29 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
javascript检查某个元素在数组中的索引值
2016/03/30 Javascript
Angular2 环境配置详细介绍
2016/09/21 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
2018/09/04 Javascript
jquery判断滚动条距离顶部的距离方法
2018/09/05 jQuery
CSS3 动画卡顿性能优化的完美解决方案
2018/09/20 Javascript
JavaScript中引用vs复制示例详析
2018/12/06 Javascript
微信小程序实现搜索指定景点周边美食、酒店
2019/05/18 Javascript
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
2019/09/11 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
uniapp微信小程序:key失效的解决方法
2021/01/20 Javascript
python3正则提取字符串里的中文实例
2019/01/31 Python
解决python3 安装不了PIL的问题
2019/08/16 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
分享一个python的aes加密代码
2020/12/22 Python
两种CSS3伪类选择器详细介绍
2013/12/24 HTML / CSS
利用css3-animation实现逐帧动画效果
2016/03/10 HTML / CSS
html5 canvas实现跟随鼠标旋转的箭头
2016/03/11 HTML / CSS
深入剖析HTML5 内联框架iFrame
2016/05/04 HTML / CSS
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
公司管理建议书范文
2014/03/12 职场文书
农村葬礼主持词
2014/03/31 职场文书
医德医风自我评价
2014/09/19 职场文书
关于召开会议的通知
2015/04/15 职场文书
公司员工辞职信范文
2015/05/12 职场文书
地道战观后感400字
2015/06/04 职场文书
2016大学生毕业实习心得体会
2016/01/23 职场文书
springboot+VUE实现登录注册
2021/05/27 Vue.js