Libsass: 3.5.3 回归:导入`.css` 文件失败而不是警告(如发行说明所示)

创建于 2018-04-24  ·  6评论  ·  资料来源: sass/libsass

最初在这里报道: https :

输入文件

<strong i="8">@import</strong> 'cssfile';

css文件.css

a { b: c; }

libsass 3.5.2(通过libsass-python

$ pysassc --version
pysassc 0.14.2 (sass/libsass 3.5.2)
$ pysassc input.scss 
a {
  b: c; }

libsass 3.5.3(通过libsass-python

$ pysassc --version
pysassc 0.14.3 (sass/libsass 3.5.3)
$ pysassc input.scss 
pysassc: error: Error: File to import not found or unreadable: cssfile.
        on line 1 of input.scss
>> <strong i="20">@import</strong> 'cssfile';

   ^

我希望在发行说明中注明警告

最有用的评论

我对折旧感到非常困惑,似乎无处明确:

弃用警告将在 3.6.0 中删除。

对比

包含带有@import .css 文件是非标准行为,将在 LibSass 的未来版本中删除。 使用自定义导入器来维护此行为。 检查您的实现文档,了解如何创建自定义导入器。

是否会在 3.6.0 中删除折旧警告并继续使用sass_option_push_import_extension或将导入 css 的功能完全删除?

就我个人而言,我会说 libsass 停止支持 css 导入将是一大步,这将意味着:

  • 使用 libsass 的库每个都必须实现自己的自定义导入器来支持 css
  • 或者普通用户(我猜他们不知道自定义导入器或如何实现它们)失去了将 css 导入到他们的 sass 中的权利,从而失去了检查和压缩 css 的所有好处。

我不使用 ruby​​,我不会,而且我不在乎它做什么和不做什么。 请我们保留sass_option_push_import_extension

所有6条评论

我认为这可以关闭,这正是#1963 所期望的。

就我个人而言,我认为它应该首先通过警告贬值并导致小版本而不是补丁,但现在为时已晚。

抱歉,这是此补丁版本的意外重大更改。

我的偏好是推进更改并更新发行说明。

您需要使用sass_option_push_import_extension API 重新启用.css导入,正如我在https://github.com/sass/libsass-python/pull/246 中看到的那样

注意:这样做将导致.css文件的弃用警告。 弃用警告将在 3.6.0 中删除。

我对折旧感到非常困惑,似乎无处明确:

弃用警告将在 3.6.0 中删除。

对比

包含带有@import .css 文件是非标准行为,将在 LibSass 的未来版本中删除。 使用自定义导入器来维护此行为。 检查您的实现文档,了解如何创建自定义导入器。

是否会在 3.6.0 中删除折旧警告并继续使用sass_option_push_import_extension或将导入 css 的功能完全删除?

就我个人而言,我会说 libsass 停止支持 css 导入将是一大步,这将意味着:

  • 使用 libsass 的库每个都必须实现自己的自定义导入器来支持 css
  • 或者普通用户(我猜他们不知道自定义导入器或如何实现它们)失去了将 css 导入到他们的 sass 中的权利,从而失去了检查和压缩 css 的所有好处。

我不使用 ruby​​,我不会,而且我不在乎它做什么和不做什么。 请我们保留sass_option_push_import_extension

抱歉不清楚。 发行说明已经更新,希望更加清晰。

我不使用 ruby​​,我不会,而且我不在乎它做什么和不做什么

首先,这不是我们对 Ruby。 Sass 是一种具有与其他任何语言一样的规范的语言。 Ruby 实现是 Sass 语言规范的真实来源。

原始 CSS 导入是一项违反 Sass 语言规范的功能,并且永远不应该出现在 LibSass 中。 它必须被移除。


由于人们已经变得如此依赖它,我们需要以负责任的方式将其移除。

因此,我们通过sass_option_push_import_extension使其成为一种选择加入行为。 这个 API不会消失,直到有一种符合 Sass 语言的方法来做到这一点。 这样的特性是为 4.0 模块系统计划的。

弃用警告是在 3.5.x 中添加的,因为 LibSass 中没有足够的钩子让实现者高效地生成正确的弃用警告。 这是将在 3.6 中删除的弃用警告。

如果希望保持规范合规性,我们希望实施者在此处提高他们的专业。

谢谢澄清。

我刚刚阅读了 sass 4 的模块提案,它看起来很棒。

另请参阅https://github.com/sass/node-sass/issues/2362以在 node-sass 端处理此问题。

此页面是否有帮助?
0 / 5 - 0 等级