vue中sass使用

1.首先安装依赖
npm install node-sass sass-loader --save-dev

2.找到build中webpack.base.conf.js,在rules中添加scss规则
{
test: /.scss$/,
loaders: [‘style’, ‘css’, ‘sass’]
}

3.在vue文件中使用

在vue项目全局中引入scss
1.全局引用时需要安装sass-resources-loader

cnpm install sass-resources-loader -S

2.在style中加

<style lang="scss" scoped>

样式穿透
在很多项目中,会出现这么一种情况,即:引用了第三方组件,需要在组件中局部修改第三方组件的样式,而又不想去除scoped属性造成组件之间的样式污染。此时只能通过特殊的方式,穿透scoped,修改其他组件的值。
方法1:

<style scoped>
    外层 >>> 第三方组件 {
        样式
    }
</style>

或者用 /deep/
<style scoped>
    外层 /deep/ 第三方组件 {
        样式
    }
</style>

其实,还拥有一种曲线救国的方法,即在定义一个含有scoped属性的style标签之外,再定义一个不含有scoped属性的style标签,即在一个vue组件中定义一个全局的style标签,一个含有作用域的style标签:
方法3:

<style>
/* global styles */
</style>

<style scoped>
/* local styles */
</style>
### 在 Vue 项目中安装和配置 Sass #### 安装依赖包 为了能够在 Vue 项目中使用 Sass (SCSS),需要先安装 `sass` 和 `sass-loader`。可以通过 npm 或 yarn 来完成这一步骤。 ```bash npm install sass sass-loader --save-dev ``` 或者如果偏好使用 Yarn: ```bash yarn add sass sass-loader --dev ``` #### 配置 Vite 项目以支持 SCSS 对于采用 Vite 构建工具的新版 Vue 项目,可以按照如下方式修改 vite.config.js 文件来确保所有的 `.scss` 文件能够被正确解析并应用全局样式变量[^1]。 ```javascript // vite.config.js import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import path from 'path'; export default defineConfig({ plugins: [ vue() ], resolve: { alias: { '@': path.resolve(__dirname, './src') } }, css: { preprocessorOptions: { scss: { additionalData: '@import "@/styles/constant.scss";' } } } }) ``` 此设置会自动引入位于 `/src/styles/constant.scss` 的文件作为全局可用的 SCSS 变量集合。 #### Webpack项目的配置方法 如果是基于Webpack构建的老版本Vue CLI服务端渲染(SSR)或单页应用程序(SPA),则需编辑webpack配置文件(通常是`vue.config.js`)加入对`.scss`的支持: ```javascript module.exports = { module: { rules: [{ test: /\.scss$/, use: ['style-loader', 'css-loader', 'sass-loader'] }] } }; ``` 上述规则告诉 Webpack 如何处理 `.scss` 结尾的文件,并通过一系列 loader 将其编译成 CSS 插入页面中[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端段

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值