vue项目配置sass及引入外部scss文件方式

yizhihongxing

为了让答案更加清晰明了,我会按照以下步骤逐一讲解:

  1. 安装sass-loader和node-sass
  2. 修改配置文件vue.config.js
  3. 在vue组件中使用scss
  4. 引入外部scss文件

接下来我将详细介绍。

  1. 安装sass-loader和node-sass

在使用sass前,我们需要先安装必要的依赖sass-loader和node-sass,可以使用以下命令进行安装:

npm install sass-loader node-sass --save-dev
  1. 修改配置文件vue.config.js

接下来我们需要修改vue项目的配置文件vue.config.js,添加sass相关的配置。

module.exports = {
  css: {
    loaderOptions: {
      sass: {
        prependData: `
          @import "@/assets/scss/variables.scss";
          @import "@/assets/scss/mixins.scss";
        `
      }
    }
  }
}
  • css.loaderOptions.sass.prependData:在所有scss文件编译前加入指定的代码(在本例中是引入了两个scss文件);

  • 在vue组件中使用scss

现在我们可以在vue组件中愉快的使用scss了,使用方式如下:

<template>
  <div class="container">
    <h1 class="title">{{ message }}</h1>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: 'Hello World!'
    }
  }
}
</script>

<style lang="scss">
.container {
  background-color: $primary-color;
  .title {
    font-size: 24px;
    font-weight: bold;
    color: $text-color;
  }
}
</style>
  • style标签的lang属性设置为scss
  • <style>标签内写scss代码。

  • 引入外部scss文件

如果我们想在vue组件中引入外部scss文件,我们只需要在css.loaderOptions.sass.prependData中添加相应的scss文件路径即可。

例如,我们要在vue组件中引入main.scss文件,代码如下:

module.exports = {
  css: {
    loaderOptions: {
      sass: {
        prependData: `
          @import "@/assets/scss/variables.scss";
          @import "@/assets/scss/mixins.scss";
          @import "@/assets/scss/main.scss";
        `
      }
    }
  }
}

值得注意的是,我们在路径中使用了@符号,而不是使用../或者./。这是因为在vue-cli 3.x中,@符号已经被设置为src目录的别名,所以我们直接使用@就可以了。

示例1:引用npm包内的scss文件

例如我们要在项目中使用bootstrap的样式,只需要安装对应的npm包依赖,然后在vue.config.js中添加相应的scss路径即可。

npm install bootstrap --save
module.exports = {
  css: {
    loaderOptions: {
      sass: {
        prependData: `
          @import "@/assets/scss/variables.scss";
          @import "@/assets/scss/mixins.scss";
          @import "~bootstrap/scss/bootstrap.scss";
        `
      }
    }
  }
}

这里需要注意的是,使用npm包中的scss文件时,在文件路径前面加上波浪号~,表示引入node_modules目录下的包。

示例2:全局引入reset.scss

例如我们需要全局引入一个reset样式,只需要在vue.config.js中添加相应的scss路径,如下所示:

module.exports = {
  css: {
    loaderOptions: {
      sass: {
        prependData: `
          @import "@/assets/scss/reset.scss";
        `
      }
    }
  }
}

reset.scss中写下需要的重置样式即可。

总之,以上就是完整的vue项目配置sass及引入外部scss文件方式的攻略了。如果还有其它问题,欢迎在评论区提问。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue项目配置sass及引入外部scss文件方式 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • vue中引入路径@的用法及说明

    那我就来详细讲解一下“Vue中引入路径@的用法及说明”。 在Vue中,我们经常使用import命令引入相关的模块文件。当我们引入一些比较深层次的文件和组件时,可能会出现引入路径很长的情况,这时候就需要使用@别名。 @别名是Vue官方提供的一个路径别名,它默认指向src目录,可以方便我们引入项目中的各个文件和组件。 下面来讲解一下如何使用: 首先,在新建Vue…

    Vue 2023年5月27日
    00
  • vue中data数据之间如何赋值问题

    在Vue中,可以在data属性中定义数据,并在模板中进行使用。当需要对这些数据进行操作时,我们有时需要将一个数据的值赋给另一个数据。正确的数据之间赋值可保证整个Vue应用的可靠性。本文将为大家详细讲解Vue中数据之间如何赋值问题。 数据之间的原理 在Vue中,数据对象是被定义在data中的。当一个数据对象赋给另一个对象时,传递的实际上是数据对象的引用,而不是…

    Vue 2023年5月29日
    00
  • vue基础语法之插值表达式详解

    Vue基础语法之插值表达式详解 什么是插值表达式? 在Vue中,我们可以使用插值表达式将数据绑定到模板上,从而动态地渲染出页面的内容。插值表达式是一种括在双大括号中的JavaScript表达式,Vue会将其解释并渲染出对应的结果。 插值表达式的语法 Vue的插值表达式语法非常简单,只需要在模板中使用双大括号包裹JavaScript表达式即可。 <!–…

    Vue 2023年5月28日
    00
  • vue中的虚拟dom知识点总结

    下面是关于“Vue中的虚拟DOM知识点总结”的完整攻略: 什么是虚拟DOM 虚拟DOM是一种通过JS对象描述DOM树结构,实现DOM树的高效更新的技术。Vue中也是采用虚拟DOM来实现数据驱动视图的,Vue会通过模板生成虚拟DOM树,当数据发生变化时,Vue会根据新的数据生成新的虚拟DOM树,并通过Diff算法对比新旧虚拟DOM树的差异,最终最小化DOM操作…

    Vue 2023年5月28日
    00
  • 一篇Vue、React重点详解大全

    一篇Vue、React重点详解大全 本文旨在给读者一份完整的Vue和React学习指南,包括两个框架的核心概念、使用方法、常见问题等,帮助读者更好地理解和掌握这两个流行的前端框架。 Vue 1. Vue基础概念 Vue是一款渐进式JavaScript框架,它的特点是易用、灵活、高效,适用于开发中小型Web应用。Vue的核心概念包括: 1.1 Vue实例 Vu…

    Vue 2023年5月27日
    00
  • 尤大大新活petite-vue的实现

    首先,需要说明的是,Petite Vue是Vue的一个迷你版本,它依赖Vue 3,并且只有5KB的大小。它是为了在代码质量和性能之间找到一个理想的平衡点,以便开发者可以轻松编写高质量的代码并快速创建精美的交互效果。 Petite Vue使用与Vue 3相同的选项API,但是与Vue相比,它有一些不同之处,例如没有Virtual DOM和响应式系统的支持。在本…

    Vue 2023年5月28日
    00
  • vue单页应用的内存泄露定位和修复问题小结

    针对“vue单页应用的内存泄露定位和修复问题小结”,我们可以分为以下几个步骤来进行解决。 1. 了解什么是内存泄露 内存泄露指的是程序在运行过程中,动态分配的内存空间未被及时释放,从而导致系统的内存不断被占用,最终导致系统崩溃或者运行缓慢。尤其是前端领域,由于运行在客户端的浏览器环境中,内存泄漏更加容易发生。 2. 定位内存泄露 当我们发现系统出现内存泄漏时…

    Vue 2023年5月27日
    00
  • Vite3迁移Webpack5的实现

    关于“Vite3迁移Webpack5的实现”的完整攻略,我将会从以下几个方面进行详细讲解: 什么是Vite3和Webpack5? 为什么要迁移Vite3到Webpack5? Vite3迁移Webpack5的实现步骤 示例说明 1. 什么是Vite3和Webpack5? Vite3是一个基于ESM的快速开发构建工具,专注于提供基于浏览器原生ES模块系统的开发体…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部