vue-cli 3提供了两种方式集成sass/scss:css
建立项目是选择预处理器sass
手动安装sass-loader
建立项目选择预处理器sass
$ vue create vuedemo
? Please pick a preset: (Use arrow keys)
> default (babel, eslint)
Manually select features
移动上下键选择“Manually select features”:表示手动选择建立项目的特性。vue
显示以下:node
? Check the features needed for your project: (Press <space> to select, <a> to t
oggle all, <i> to invert selection)
>( ) TypeScript
( ) Progressive Web App (PWA) Support
( ) Router
( ) Vuex
(*) CSS Pre-processors
( ) Linter / Formatter
( ) Unit Testing
( ) E2E Testing
移动上下键在CSS Pre-processors,按提示点击空格键选择CSS-processors。webpack
显示以下:web
? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default): (Use arrow keys)
> SCSS/SASS
LESS
Stylus
选择第一个SCSS/SASS做为咱们的CSS预处理器。vue-cli
完成后项目会帮咱们安装sass-loader node-sass。npm
手动安装
若是在建立项目没有选择CSS 预处理器,咱们也能够手动安装sass-loader node-sass来集成scss。sass
npm install -D sass-loader node-sass
使用
至此咱们只须要在style指定lang为scss便可:babel
<style lang="scss">
$color = red;
</style>
vue service clie会自动使用咱们安装的sass-loader做为scss内容的加载器。ui
vue cli是基于webpack构建项目,若是想对sass-loader传递一些配置项,能够在vue.config.js配置。在项目的根目录下若是没有找到vue.config.js,手动建立便可。以下:
// vue.config.jsconst fs = require('fs')module.exports = { css: { loaderOptions: { sass: { data: fs.readFileSync('src/variables.scss', 'utf-8') } } }}这个文件variables.scss也是能够经过import在.vue组件里引入。