alibaba / rax

🐰 Rax is a progressive framework for building universal application. https://rax.js.org
Other
8k stars 627 forks source link

[BUG] less解析成css,有多余的css代码 #2328

Closed xiaoxiaodemeng closed 2 years ago

xiaoxiaodemeng commented 2 years ago

⌨️

Where is the bug from?

Rax App

Minimal code and steps to reproduce the bug

// index.module.less

:root {
  --button-background: #333;
}

.homeContainer {
  align-items: center;
  margin-top: 200rpx;
  background-color: var(--button-background);
}

// 最后编译

.Home--homeContainer--68rPAEN {
  align-items: center;
  margin-top: 26.66667vw;
  background-color: #444;
  background-color: var(--button-background);
}

background-color 多了一次赘余的

Current and expected behavior

// 预期取var的全局变量,background-color: #444;这一次可以跳过

.Home--homeContainer--68rPAEN {
  align-items: center;
  margin-top: 26.66667vw;
  background-color: var(--button-background);
}

Environment

"rax": "^1.1.0" "rax-app": "^3.8.7"

build.json

{
  "targets": [
    "web"
  ],
  "webpack5": true,
  "web": {
    "mpa": true,
    "pha": true
  },
  "plugins": [
    "@ali/build-plugin-rax-app-def",
    [
      "@ali/build-plugin-event-tracking-register",
      {
        "goldlog": false
      }
    ]
  ]
}

Possible solution

No response

Additional context

No response

SoloJiang commented 2 years ago

在 minify 之后还存在么

xiaoxiaodemeng commented 2 years ago

在 minify 之后还存在么

存在的

SoloJiang commented 2 years ago

444 是哪里来的,可以提供下复现代码么,因为这里涉及到兼容性问题,按开发标准如果写了是会保留的,防止遇到浏览器不兼容 css variable 的情况

xiaoxiaodemeng commented 2 years ago

444 是哪里来的,可以提供下复现代码么,因为这里涉及到兼容性问题,按开发标准如果写了是会保留的,防止遇到浏览器不兼容 css variable 的情况

就上面的代码 image 虽简单的demo模版

SoloJiang commented 2 years ago

image 没法复现

SoloJiang commented 2 years ago

具体表现可以看下 postcss 文档的说明 https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env

xiaoxiaodemeng commented 2 years ago

具体表现可以看下 postcss 文档的说明 https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env

你的截图里面是有俩个background-color,如果说这里是因为要做兼容的话,能不能说有个开关去掉编译出俩个的处理,在web端,这种兼容感觉是一种赘余

SoloJiang commented 2 years ago

web 本身也有兼容性诉求,另外 rax-app 支持自定义 postcss 参数,如果有需求可以按照文档的配置进行自定义

xiaoxiaodemeng commented 2 years ago

web 本身也有兼容性诉求,另外 rax-app 支持自定义 postcss 参数,如果有需求可以按照文档的配置进行自定义

好的,到时候我看一下postcss参数