基于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 相关文章推荐
轻轻松松学JS调试(不下载任何工具)
Apr 14 Javascript
javascript实现图片切换的幻灯片效果源代码
Dec 12 Javascript
Yii-自定义删除确认弹框(zyd)jquery实现代码
Mar 04 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
Sep 11 Javascript
jQuery获取样式中颜色值的方法
Jan 29 Javascript
超赞的jQuery图片滑块动画特效代码汇总
Jan 25 Javascript
angular2使用简单介绍
Mar 01 Javascript
Bootstrap3 内联单选和多选框
Dec 29 Javascript
原生js实现返回顶部缓冲效果
Jan 18 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
Mar 13 Javascript
vue.js移动数组位置,同时更新视图的方法
Mar 08 Javascript
手写Vue源码之数据劫持示例详解
Jan 04 Vue.js
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自动跳转中英文页面
2008/07/29 PHP
PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
2015/03/19 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
php 如何设置一个严格控制过期时间的session
2017/05/05 PHP
laravel 框架执行流程与原理简单分析
2020/02/01 PHP
FireFox下XML对象转化成字符串的解决方法
2011/12/09 Javascript
event.currentTarget与event.target的区别介绍
2012/12/31 Javascript
JavaScript起点(严格模式深度了解)
2013/01/28 Javascript
jquery(hide方法)隐藏指定元素实例
2013/11/11 Javascript
JS实现两个大数(整数)相乘
2014/04/28 Javascript
JQuery实现鼠标移动图片显示描述层的方法
2015/06/25 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
实例详解JavaScript中setTimeout函数的执行顺序
2017/07/12 Javascript
详解如何用webpack打包一个网站应用项目
2017/07/12 Javascript
基于JavaScript判断两个对象内容是否相等
2020/01/10 Javascript
vue父子组件间引用之$parent、$children
2020/05/20 Javascript
Python通过正则表达式选取callback的方法
2015/07/18 Python
python+pyqt实现右下角弹出框
2017/10/26 Python
Python内置函数delattr的具体用法
2017/11/23 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
2018/11/01 Python
Python中查看变量的类型内存地址所占字节的大小
2019/06/26 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
PyCharm2019 安装和配置教程详解附激活码
2020/07/31 Python
序列化Python对象的方法
2020/08/01 Python
解决python3中os.popen()出错的问题
2020/11/19 Python
python的setattr函数实例用法
2020/12/16 Python
css3 边框、背景、文本效果的实现代码
2018/03/21 HTML / CSS
钉钉企业内部H5微应用开发详解
2020/05/12 HTML / CSS
俄罗斯优惠券网站:BIGLION
2017/05/21 全球购物
介绍java中初始化块的使用
2012/09/11 面试题
村优秀党员事迹材料
2014/01/15 职场文书
电脑饰品店的创业计划书
2014/01/21 职场文书
网上开店必备创业计划书
2014/01/26 职场文书
民主生活会发言材料
2014/10/20 职场文书
员工加薪申请报告
2015/05/15 职场文书
Springboot集成kafka高级应用实战分享
2022/08/14 Java/Android