Carmineprince's Blog
首页
    • HTML
    • CSS
    • JavaScript
    • Vue
    • React
    • TypeScript
    • Node
    • Flutter
    • Electron
    • Python
    • 运维
    • 重学前端
  • 分类
  • 标签
  • 归档

Ziqi Wang

胡思乱想程序员
首页
    • HTML
    • CSS
    • JavaScript
    • Vue
    • React
    • TypeScript
    • Node
    • Flutter
    • Electron
    • Python
    • 运维
    • 重学前端
  • 分类
  • 标签
  • 归档
  • 从0开始搭建一套规范的Vue3.x项目工程环境
  • 解决vite构建vue3项目报错
  • 解决Vue3中无法使用$ref的问题
  • 项目中手动增加scss支持
    • 一、 创建项目时选择预处理器sass
    • 二、 手动增加scss支持
    • 三、 在项目中使用scss
    • 四、 在项目中引入全局scss文件
      • 1. 安装`sass-resources-loader`
      • 2. 创建`scss`文件
      • 3. 配置`vue.config.js`文件
      • 4. 在vue文件中直接使用全局scss即可
  • el-table多选分页保留
  • 解决npm run dev启动两个页面问题
  • PC端和移动端兼容方案
  • SFC-Use-script-setup
  • vue2x面试前回炉重造
  • Vue3+Vite2配置
  • flvjs+vue 视频播放(手动追帧、断开重连、多个视频同时直播)
  • vue平滑滚动到指定位置
  • vant项目使用postcss-pxtorem和amfe-flexible 进行移动端适配
  • vue 使用v-html绑定时,内部元素不会继承外部css的解决方案
  • vue-awesome-swiper缩略图控制循环无效解决方案
  • 如何在Vue项目中优雅的使用svg图标
  • yarn报错及解决方案
  • vue3+ts+vite移动端vw适配方案
  • Vue项目中增加mockjs模拟接口请求
  • Nuxt相关

  • Vue3思考及跟Vue2相比的新变化总结
  • Vue相关
carmineprince
2021-10-20

项目中手动增加scss支持

# Vue项目中增加scss支持

# 一、 创建项目时选择预处理器sass

$ vue create vuedemo
? Please pick a preset: (Use arrow keys)
> default (babel, eslint)
  Manually select features
1
2
3
4

移动上下键选择Manually select features:手动选择创建项目的特性。

显示如下:

? 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
1
2
3
4
5
6
7
8
9
10

移动上下键在CSS Pre-processors,按提示点击空格键选择CSS-processors。

显示如下:

? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default): (Use arrow keys)
> SCSS/SASS
  LESS
  Stylus
1
2
3
4

选择第一个SCSS/SASS作为我们的CSS预处理器。

完成后项目会帮我们安装sass-loader node-sass。

# 二、 手动增加scss支持

网上很多教程直接使用npm install -D sass-loader node-sass默认最新版本进行安装,安装后发现版本不匹配等问题。遂去npm网站查看历史版本,找到sass-loader@10.2.0版本、node-sass@4.14.1下载量最高。卸载后重新安装指定版本发现问题解决。

如果在创建项目的时候没有选择css预处理器,可以手动安装sass-loader node-sass来集成scss

npm install -D sass-loader@10 node-sass@4
1

# 三、 在项目中使用scss

完成添加后,我们只需要在style指定lang为scss即可,无须多余操作:

<style lang="scss" scoped>
$color: red;

h1 {
  color: $color;
}
</style>
1
2
3
4
5
6
7

# 四、 在项目中引入全局scss文件

# 1. 安装sass-resources-loader

npm i -D sass-resources-loader
1

# 2. 创建scss文件

在src/assets/styles中创建base.scss文件

# 3. 配置vue.config.js文件

module.exports = {
  chainWebpack: config => {
    const oneOfsMap = config.module.rule('scss').oneOfs.store
    oneOfsMap.forEach(item => {
      item
        .use('sass-resources-loader')
        .loader('sass-resources-loader')
        .options({
          // Provide path to the file with resources
          // 要公用的scss的路径
          resources: './src/assets/styles/base.scss'
        })
        .end()
    })
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 4. 在vue文件中直接使用全局scss即可

base.scss:

$test-color:red;
1

xxx.vue:


<style scoped lang="scss">
.home {
  .test {
    color: $test-color;
  }
}
</style>

1
2
3
4
5
6
7
8
9
#scss
上次更新: 10/21/2021, 1:52:09 PM
解决Vue3中无法使用$ref的问题
el-table多选分页保留

← 解决Vue3中无法使用$ref的问题 el-table多选分页保留→

最近更新
01
pc端rem配置
03-02
02
使用动态变量ts报错的解决
02-25
03
React Hook详解
02-18
更多文章>
Theme by Vdoing | Copyright © 2021-2022 Carmineprince | 鲁ICP备2021046263号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式