_ 在 Meteor 包中使用时无法识别

_ not recognized when used in a Meteor package

我创建了一个基本的 Meteor 项目,带有一个基本包。在包中,我想使用 _.extend()。即使在我明确使用 meteor add underscore 之后,它也会失败并显示错误:

Uncaught ReferenceError: _ is not defined

这是我的步骤:

$ meteor create UnderScore
$ cd UnderScore/
$ meteor add underscore
$ meteor create --package unscore
$ meteor add unscore

在文件UnderScore/packages/unscore/unscore.js中,我添加代码

if (Meteor.isClient) {
  var object = {}
  _.extend(object, {key: value}) // ERROR OCCURS ON THIS LINE
}

我现在使用 meteor run 启动应用程序,并在 http://localhost:3000

打开浏览器

我立即在控制台中收到错误报告:

Uncaught ReferenceError: _ is not defined                unscore.js:3

我可以毫无问题地访问 _ 不在包内的 JavaScript 文件。使 _ 在包裹内可见的正确巫术是什么?

为了让您的包使用下划线,需要将其添加为依赖项。您的 packages/unscore/package.js 应如下所示:

Package.onUse(function(api) {
  api.use('underscore');
  api.addFiles('unscore.js');
});