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

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

  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中关于template报错等问题的解决

    下面会给出关于vue中template报错的解决攻略。接下来的内容会分为以下几部分: 常见的template报错 解决方案 示例说明 一、常见的template报错 在使用vue时,template会出现一些常见的报错信息,例如: Vue warn: Failed to mount component: template or render function…

    Vue 2023年5月28日
    00
  • 浅谈vue3中effect与computed的亲密关系

    浅谈vue3中effect与computed的亲密关系 什么是effect和computed 在vue3中,effect和computed是两种常用的API。effect是用来观察响应式状态的变化,而computed是用来派生一个新的响应式状态,根据已有的响应式状态计算出新的响应式状态的值。 effect 下面是一个简单的示例,演示了如何通过effect去观…

    Vue 2023年5月28日
    00
  • vue组件 非单文件组件的使用步骤

    使用vue组件的方法有两种:单文件组件和非单文件组件。 非单文件组件的使用步骤如下: 定义组件 定义非单文件组件有两种方法,一种是使用Vue.component()函数,另一种是使用全局的组件注册方法。 使用Vue.component()函数: Vue.component(‘my-component’, { template: ‘<div>{{ …

    Vue 2023年5月28日
    00
  • Vue之请求如何传递参数

    当我们通过Vue进行请求时,有时需要把一些参数传递给后端接口。在这里,我们可以采用两种方式来传递参数。下面将分别详细介绍这两种方式。 通过URL传递参数 通常,我们可以把参数直接拼接在请求的URL末尾,比如: axios.get(‘/api/user?id=1’) .then(function (response) { console.log(respons…

    Vue 2023年5月27日
    00
  • 浅谈Vue-cli 命令行工具分析

    下面我将详细讲解 “浅谈Vue-cli 命令行工具分析” 的完整攻略。 什么是Vue-cli ? Vue-cli 是一个官方提供的基于 Vue.js 快速创建项目的命令行工具,它提供了一整套前端工具体系,可以快速搭建起一个前端开发和生产环境所需要的开发框架。 Vue-cli 常用于开发 Vue.js 的单页面应用(SPA)和 webpack 多页面应用(MP…

    Vue 2023年5月28日
    00
  • JavaScript实现单击下拉框选择直接跳转页面的方法

    下面是JavaScript实现单击下拉框选择直接跳转页面的方法的完整攻略: 1. 使用下拉框 我们可以使用HTML中的<select>标签创建一个下拉框,并用<option>标签添加选项。然后,我们需要为选中的选项添加一个事件,以便在单击时跳转到相关的页面。 以下是一个示例,演示如何使用下拉框实现单击下拉框选择直接跳转页面的方法: &…

    Vue 2023年5月28日
    00
  • vue中的导航守卫使用及说明

    导航守卫是Vue提供的一套路由钩子函数,用于在路由变化时进行一些预处理或拦截,实现一些权限控制或页面的跳转。Vue的导航守卫主要有三种类型:全局前置守卫、全局解析守卫和全局后置守卫。下面我们将详细讲解Vue中导航守卫的使用及说明。 全局前置守卫 全局前置守卫是在路由变化前执行的钩子函数,主要用于进行权限控制或重定向等操作。可以通过前置守卫中的next函数来控…

    Vue 2023年5月28日
    00
  • element日历calendar组件上月、今天、下月、日历块点击事件及模板源码

    下面是详细讲解 “element 日历 calendar 组件上月、今天、下月、日历块点击事件及模板源码”的完整攻略。 1. 功能说明 element 日历 calendar 组件是一款强大的日期选择组件,常用于项目中的日期选择、预约等场景。在本篇攻略中,将详细讲解其上月、今天、下月、日历块点击事件及模板源码等内容。 上月、下月按钮点击事件:点击上月、下月后…

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