Vue 项目中 Sass 与 Less 的对比

[复制链接]
发表于 2025-7-4 02:29:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、焦点特性对比

    特性   Sass/SCSS   Less         语法扩展   .scss(类CSS语法)   类似CSS,更靠近原生       变量系统   $variable   @variable       嵌套规则   支持(含属性嵌套)   支持       Mixin系统   @mixin + @include   .mixin()       函数支持   内置100+数学函数   内置函数较少       模块化   @use + @forward   @import       条件/循环   @if/@for/@each   有限支持       社区生态   更庞大(React/Angular主流)   Vue社区较常见       编译速率   Dart Sass 最快   较快   二、Vue 项目集成方案

  1. npm install sass sass-loader@10 -D
复制代码
  1. <style lang="scss">
  2. $primary: #42b983;
  3. .button {
  4.   background: $primary;
  5.   &:hover {
  6.     @include hover-effect;
  7.   }
  8. }
  9. </style>
复制代码
  1. npm install less less-loader@7 -D
复制代码
  1. <style lang="less">
  2. @primary: #42b983;
  3. .button {
  4.   background: @primary;
  5.   &:hover {
  6.     .hover-effect();
  7.   }
  8. }
  9. </style>
复制代码
三、性能关键指标

    维度   Sass (Dart实现)   Less         编译速率   1.5x faster   基准       压缩率   高(优化算法好)   中等       内存占用   较低   较低   四、选型决议矩阵


  • 选择 Sass 当:
         
    • 必要复杂逻辑(循环/条件)   
    • 使用 UI 库如 Vuetify(基于 Sass)   
    • 项目规模大必要模块化  
    1. // Sass高级功能示例
    2. @mixin theme($theme) {
    3.   .#{map-get($theme, name)} {
    4.     color: map-get($theme, color);
    5.   }
    6. }
    复制代码

  • 选择 Less 当:
         
    • 已有 Ant Design Vue 等 Less 技术栈   
    • 必要更快编译速率(简单项目)   
    • 团队对 Less 更熟悉  
    1. // Less简洁示例
    2. .generate-colors(@n, @i: 1) when (@i =< @n) {
    3.   .col-@{i} {
    4.     width: (@i * 100% / @n);
    5.   }
    6.   .generate-colors(@n, (@i + 1));
    7. }
    复制代码

五、Vue 3 最佳实践


  • Sass Module 方案
  1. <template>
  2.   <div :class="$style.container">
  3.     <button :class="$style.button">Submit</button>
  4.   </div>
  5. </template>
  6. <style module lang="scss">
  7. .container {
  8.   padding: 2rem;
  9.   .button {
  10.     background: $primary-color;
  11.   }
  12. }
  13. </style>
复制代码

  • 主题切换实现对比
[code][/code]
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

快速回复 返回顶部 返回列表