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>