目标
Astro
输出的CSS是最新的CSS,我需要构建一个兼容微信浏览器的低版本CSS,因此想到了Astro是否支持browserslist
,到issue一搜,确实有人问啊,具体在这里;
详细情况
原来Vite有build.target
与build.cssTarget
两个配置,足可以将CSS版本降下来,因此就不太需要browserslist
,不过也是有方法支持的,也就是通过esbuild
插件,vite中主要使用esbuild
做预构建,其他文章可看这里。在生产环境中是使用esbuild
做代码的转换以及压缩,例如在这里搜索esbuild
这个单词。
以下是支持browserslist
的方法:
import { defineConfig } from "astro/config";
import browserslist from "browserslist";
import { resolveToEsbuildTarget } from "esbuild-plugin-browserslist";
export default defineConfig({
vite : {
build: {
cssTarget: resolveToEsbuildTarget(browserslist())
}
}
});
未尝试:
使用@vitejs/plugin-legacy
做转换,这个不是使用的esbuild
转换,而是babel
。