如何解决“SASS:弃用旧版 JS API”警告?

问题描述 投票:0回答:1

我有一个使用 T3 Stack(Next JS / Vercel / 等)构建的项目。 和我们许多人一样,我现在收到了 Dart Sass 2.0.0 上 SASS 弃用的警告。

我看到很多人建议消除警告。但这不是只是推迟了问题的发生吗?如果我错了,请纠正我,但是一旦你将 2.0 Sass 更新到它,这不会破坏你的代码吗?

我想了解的是如何解决它。 (不是让它沉默)。

我尝试将我的 Sass 导入更改为 @use / @forward,如 Sass 文档 上的建议。但后来我的应用程序崩溃了。

我还看到了一些使用 vite 的人向其 vite.config 添加选项的解决方案

   export default defineConfig({
        css: {
            preprocessorOptions: {
                scss: {
                    api: 'modern-compiler' // or "modern"
                } 
            }
        }
    })

我已经在下一个配置中尝试过,但没有成功,错误仍然存在。 还尝试了对此进行有根据的猜测。


    /** @type {import("next").NextConfig} */
    const config = {
        sassOptions: {
            preprocessorOptions: {
                sass: {              
                    api: "modern",
                },
            },
         },
     };

但是错误仍然存在,我无法将我的@imports重构为@use或@forward

我不介意将所有 @import 重构为 @use 或 @forward。因为我想让项目保持新技术标准的新鲜感。

但是我如何设置它以在我的 NextJS (T3 Stack) 项目上工作? 你们会如何处理 T3 Stack (NextJS) 项目上的配置文件?

sass deprecated dart-sass
1个回答
0
投票

这似乎是“nextjs 内部的事情”,你不应该太担心。一旦他们将其迁移到“幕后”,可能会对 nextjs 版本产生一些影响。

您提到不想让它保持沉默,但如果您改变主意,您的 next.config.js 中有这个选项:

 sassOptions: {
    silenceDeprecations: ["legacy-js-api"],
  },

在这里阅读更多相关内容: https://github.com/vercel/next.js/discussions/67931 在这里: https://github.com/vercel/next.js/issues/71638

© www.soinside.com 2019 - 2024. All rights reserved.