首先引入scss
:css
npm install --save-dev sass-loader
npm install --save-dev node-sass
复制代码
配置sass全局变量须要安装一个开发插件:sass-resources-loader
vue
npm i sass-resources-loader --save-dev
复制代码
而后修改vue-cli
的build/utils.js
,找到scss
的加载设置:node
return {
css: generateLoaders(),
postcss: generateLoaders(),
less: generateLoaders('less'),
sass: generateLoaders('sass', { indentedSyntax: true }),
scss: generateLoaders('sass'),
stylus: generateLoaders('stylus'),
styl: generateLoaders('stylus')
}
复制代码
修改成:vue-cli
return {
css: generateLoaders(),
postcss: generateLoaders(),
less: generateLoaders('less'),
sass: generateLoaders('sass', { indentedSyntax: true }),
scss: generateLoaders('sass').concat({
loader:'sass-resources-loader',
options:{
resources:path.resolve(__dirname,'./../src/assets/css/global.scss')
}
}),
stylus: generateLoaders('stylus'),
styl: generateLoaders('stylus')
}
复制代码
其中path.resolve
须要传入待引入的scss
文件,个人在./../src/assets/css/global.scss
,__dirname
表明当前目录npm
保存后须要重启开发命令:npm run dev
sass
完成!bash
在global.scss
定义变量:less
$screen-lg-min: 992px;
$screen-md-min: 768px;
$screen-md-max: 991px;
$screen-sm-max: 767px;
复制代码
使用:post
<style lang="scss" scoped>
@media screen and (min-width: $screen-lg-min) {
.header-menu {
display: none;
}
}
@media screen and (min-width: $screen-md-min) and (max-width: $screen-md-max) {
.header-menu {
display: none;
}
}
@media screen and (max-width: $screen-sm-max) {
}
</style>
复制代码