Deprecation Warning: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0. More info and automated migrator: https://sass-lang.com/d/import
复制
首先,错误原因很简单 sass 在更新到 1.80 版本时进行了破坏性更新,导致之后不再支持 @import 语法,需要使用 @use。Sass官方说明
解决办法就是锁定版本不更新,去掉版本号前面 ^
。
"devDependencies": { "@vuepress/bundler-vite": "^2.0.0-rc.18", "@vuepress/plugin-search": "^2.0.0-beta.66", "@vuepress/theme-default": "^2.0.0-rc.55", "sass-embedded": "1.79.6", "vuepress": "^2.0.0-beta.49" }
复制
^
的含义是不更新大版本号,但是保持次级版本号更新,相当于限制为当前版本以及到下一个大版本之间的版本,比如 ^1.79.6
就意味着不跟到 2.x.x
版本,但是它会在 1.79.6
到 2.0.0
以下之间的版本号之间更新。非常扯淡的是如果 JS 库的作者不遵守大版本号内保持兼容性的约定,进行了破坏性更新就会导致麻烦,我们就需要写成固定版本号不更新避免掉入坑内。以上问题的坑就是 sass 库不遵守小版本号内保持向下兼容。
这里也贴出关于业内主流的版本号约定 语义化版本 2.0.0 提供给大家作为参考,希望每位开发者都能够遵守版本号的约定,避免带来不必要的麻烦 Peace & Love
。