基于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 相关文章推荐
网页中CDATA标记的说明
Sep 12 Javascript
Jquery Change与bind事件代码
Sep 29 Javascript
验证手机号码的JS方法分享
Sep 10 Javascript
实现只能输入数字的input不用replace方法
Sep 12 Javascript
借助javascript代码判断网页是静态还是伪静态
May 05 Javascript
js统计页面的来访次数实现代码
May 09 Javascript
JavaScript常用脚本汇总(一)
Mar 04 Javascript
JS中改变this指向的方法(call和apply、bind)
Mar 26 Javascript
JS实现多张图片预览同步上传功能
Jun 23 Javascript
利用babel将es6语法转es5的简单示例
Dec 01 Javascript
JS动画实现回调地狱promise的实例代码详解
Nov 08 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
Mar 30 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目录导航文件代码
2006/10/09 PHP
PHP数字格式化
2006/12/06 PHP
PHP类和对象相关系统函数与运算符小结
2016/09/28 PHP
PHP自定义函数获取汉字首字母的方法
2016/12/01 PHP
swoole_process实现进程池的方法示例
2018/10/29 PHP
javascript数组组合成字符串的脚本
2021/01/06 Javascript
MooTools 1.2中的Drag.Move来实现拖放
2009/09/15 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
2013/05/03 Javascript
js渐变显示渐变消失示例代码
2013/08/01 Javascript
javascript页面动态显示时间变化示例代码
2013/12/18 Javascript
sails框架的学习指南
2014/12/22 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
AJAX和jQuery动态加载数据的实现方法
2016/12/05 Javascript
Ionic+AngularJS实现登录和注册带验证功能
2017/02/09 Javascript
手把手搭建安装基于windows的Vue.js运行环境
2017/06/12 Javascript
vue.js 实现输入框动态添加功能
2018/06/25 Javascript
jQuery实现的页面弹幕效果【测试可用】
2018/08/17 jQuery
Vue.set() this.$set()引发的视图更新思考及注意事项
2018/08/30 Javascript
JavaScript使用百度ECharts插件绘制饼图操作示例
2019/11/26 Javascript
JavaScript写个贪吃蛇小游戏(超详细)
2020/03/17 Javascript
React实现全选功能
2020/08/25 Javascript
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
Tensorflow中使用tfrecord方式读取数据的方法
2018/06/19 Python
pandas.read_csv参数详解(小结)
2019/06/21 Python
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
使用pip安装python库的多种方式
2019/07/31 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
2020/02/17 Python
详解css3 object-fit属性
2018/07/27 HTML / CSS
英国历史最悠久的DJ设备供应商:DJ Finance、DJ Warehouse、The DJ Shop
2019/09/04 全球购物
信息专业大学生自我评价分享
2014/01/17 职场文书
小学教师师德师风个人整改措施
2014/09/18 职场文书
上课睡觉万能检讨书
2015/02/17 职场文书
安全责任协议书范本
2016/03/23 职场文书
MySQL系列之三 基础篇
2021/07/02 MySQL
Spring Data JPA框架的核心概念和Repository接口
2022/04/28 Java/Android