大家好,为什么会出现“弃用警告:旧版 JS API 已弃用,并将在 Dart Sass 2.0.0 中删除”错误。发生?我在其他帮助请求中搜索了答案,但尚未找到答案。按类型分类的答案:
css: {
preprocessorOptions: {
scss: {
api: "modern-compiler", // or "modern", "legacy"
importers: [],
},
},
},
他们没有帮助!
这是我的 Vite 配置:
// default.config.ts
export const defaultConfig: InlineConfig = {
css: {
preprocessorOptions: {
scss: {
api: "modern-compiler",
importers: [],
},
},
},
plugins: [
tsPaths(),
solidPlugin(),
],
resolve: {
alias: {
"@styles": path.resolve(__dirname, "src/styles"),
},
},
};
// dev.config.ts
export default defineConfig({
server: {
host: "0.0.0.0",
port: 3000,
strictPort: true,
open: true,
hmr: true,
},
...defaultConfig,
});
我的包文件:
{
"name": "project",
"version": "0.0.0",
"description": "",
"type": "module",
"scripts": {
"dev": "vite --host",
"build": "VITE_APP_ENV=production vite build",
"serve": "vite preview"
},
"license": "MIT",
"devDependencies": {
"@fullhuman/postcss-purgecss": "^6.0.0",
"@types/node": "^22.5.5",
"@types/pako": "^2.0.3",
"@types/postcss-normalize": "^9.0.4",
"cssnano": "^7.0.6",
"lightningcss": "^1.27.0",
"postcss": "^8.4.47",
"postcss-combine-duplicated-selectors": "^10.0.3",
"sass": "^1.78.0",
"solid-devtools": "^0.29.2",
"svgo": "^3.3.2",
"terser": "^5.32.0",
"typescript": "^5.3.3",
"vconsole": "^3.15.1",
"vite": "^5.0.11",
"vite-bundle-visualizer": "^1.2.1",
"vite-plugin-html-minifier-terser": "^3.8.0",
"vite-plugin-solid": "^2.8.2",
"vite-plugin-solid-svg": "^0.8.1",
"vite-tsconfig-paths": "^5.0.1"
},
"dependencies": {
"@solidjs/router": "^0.14.5",
"lottie-web": "^5.12.2",
"pako": "^2.1.0",
"solid-js": "^1.8.11"
}
}
我尝试添加和删除 scss 和 sass 设置 - 它没有帮助。我删除了插件,更改了配置,删除了软件包 - 这没有帮助。错误在哪里 - 我不明白
更新:为什么这个问题与其他问题不同?该问题与Vite版本有关。其他作者的其他问题的解决方案已经找到,但我的案例与 vite 有关,更准确地说是 5.4.x 版本(我怀疑这是 5.4.6,因为一切都在 5.4.5 中运行)
UPDATE2:我刚刚检查了5.4.0以下的其他版本的vite,问题仍然存在。与此同时,就在一天前,一切都很好
谢谢。我编辑了我的 Vite 配置。它确实有效。