首先引入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>
複製代碼