Underscore: 更改了 semver 小中断社区包中的导出格式/API

创建于 2020-03-30  ·  8评论  ·  资料来源: jashkenas/underscore

我今天在第三方包 ( natural ) 中遇到了一些非常奇怪的错误,其中包含TypeError: Cannot read property 'without' of undefined之类的错误。 原来是因为它像这样导入underscore

var Tokenizer = require('./tokenizer'),
    util = require("util"),
    _ = require('underscore')._;

似乎最新版本将整个 shebang 导出为默认导出,而不是导出的命名值。 这可能很好……除了执行上述操作的任何软件包。

也许_仍应作为默认导出的别名公开? 更改像顶级 API 这样重大的东西似乎是一个重大的重大更改(不是 _minor_ semver 更改!),毕竟underscore许多软件包用作依赖项。

所有8条评论

同样的问题在这里.. 似乎_被导出为undefinedhttps ://github.com/jashkenas/underscore/issues/2835

Pinging @jgonggrijp — 看起来我们需要 1.10.2 补丁跟进。

具体来说,我认为是删除了以前的 Node API 的旧 shim 代码导致了问题,这里: https ://github.com/jashkenas/underscore/compare/1.9.2...1.10.0#

... @jgonggrijp — 你认为添加类似的东西会有问题吗?

这绝对是一个疏忽,对此感到抱歉。

@jashkenas您的链接似乎不起作用,所以我看不出您的意思。 也许像这样的东西在index-default

var _ = mixin(allExports);
_._ = _;
export default _;
var _ = mixin(allExports);
_._ = _;
export default _;

这正是我正在做的! 极好的。

现在应该在 1.10.2 中修复这个问题,我已经将其推送到 NPM。 请试一试,如果一切恢复正常,请告诉我。 为搞砸而道歉。

@jashkenas 你的上帝! :angel: 谢谢!

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

相关问题

jdalton picture jdalton  ·  4评论

Francefire picture Francefire  ·  5评论

dmaicher picture dmaicher  ·  9评论

zackschuster picture zackschuster  ·  5评论

danilopolani picture danilopolani  ·  5评论