重大变更:默认 导出
默认情况下,Node.js 允许使用 import sass from 'sass'
语法从 ECMAScript 模块加载 CommonJS 模块。这现在已弃用;ESM 用户应改为使用 import * as sass from 'sass'
。
历史上,Dart Sass 只能作为 CommonJS 模块使用。这意味着任何从使用 Node.js 原生 ECMAScript 模块支持的项目中使用它的人都可以将其加载,就好像它提供了 默认导出 一样。
import sass from 'sass'; // Don't do this anymore
这从来不是 Sass 团队的本意,并且它与包提供的类型声明不匹配,但它确实有效。我们决定在 Dart Sass 2.0.0 中删除此支持,并要求 ECMAScript 模块用户只使用包的命名 导出。
import * as sass from 'sass'; // Do this
过渡期过渡期永久链接
- Dart Sass
- 自 1.54.0 起
- LibSass
- ✗
- Ruby Sass
- ✗
兼容性
在 Dart Sass 2.0.0 之前,我们将继续支持用户加载 Sass 的默认导出。第一次访问默认导出的任何属性时,它将向 console.error()
发出弃用警告。为了避免此错误,请改用 import * as sass from 'sass'
。