基于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 关键字屏蔽实现函数
Aug 02 Javascript
Javascript的数组与字典用法与遍历对象的属性技巧
Nov 07 Javascript
一个简单的动态加载js和css的jquery代码
Sep 01 Javascript
JavaScript获取一个范围内日期的方法
Apr 24 Javascript
详解JavaScript 中的 replace 方法
Jan 01 Javascript
js随机生成26个大小写字母
Feb 12 Javascript
jquery对象与DOM对象转化
Feb 08 Javascript
JS实现加载和读取XML文件的方法详解
Apr 24 Javascript
jQuery 开发之EasyUI 添加数据的实例
Sep 26 jQuery
React 组件中的 bind(this)示例代码
Sep 16 Javascript
Moment.js实现多个同时倒计时
Aug 26 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
Sep 27 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中$_SERVER的详细参数与说明
2008/07/29 PHP
PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
2016/12/24 PHP
javascript 事件绑定问题
2011/01/01 Javascript
JavaScript中的null和undefined解析
2012/04/14 Javascript
jquery实现盒子下拉效果示例代码
2013/09/12 Javascript
js使用eval解析json实例与注意事项分享
2014/01/18 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
2015/06/08 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
DOM事件探秘篇
2017/02/15 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
2017/05/02 Javascript
AngularJs每天学习之总体介绍
2017/08/07 Javascript
微信小程序下拉框组件使用方法详解
2018/12/28 Javascript
重学 JS:为啥 await 不能用在 forEach 中详解
2019/04/15 Javascript
layUI实现前端分页和后端分页
2019/07/27 Javascript
vant实现购物车功能
2020/06/29 Javascript
在webstorm中配置less的方法详解
2020/09/25 Javascript
python网络编程学习笔记(五):socket的一些补充
2014/06/09 Python
python中实现定制类的特殊方法总结
2014/09/28 Python
Python中使用items()方法返回字典元素对的教程
2015/05/21 Python
Python 的描述符 descriptor详解
2016/02/27 Python
python基础学习之如何对元组各个元素进行命名详解
2018/07/12 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
2019/10/12 Python
Django项目基础配置和基本使用过程解析
2019/11/25 Python
Python 3.8 新功能大揭秘【新手必学】
2020/02/05 Python
Python 如何展开嵌套的序列
2020/08/01 Python
python中time.ctime()实例用法
2021/02/03 Python
大学军训感言1500字
2014/03/09 职场文书
读书伴我成长演讲稿
2014/05/07 职场文书
年终奖发放方案
2014/06/02 职场文书
中职生求职信
2014/07/01 职场文书
副总经理党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/06 职场文书
新员工入职欢迎词
2015/01/23 职场文书
鉴史问廉观后感
2015/06/10 职场文书
幼儿园大班教学反思
2016/03/02 职场文书