Meteor использует очень датированную версию Underscore версии 1.5.2. Два года назад этот сентябрь и не хватает большого количества материала, который находится в текущей библиотеке 1.8.2.
Можно ли обновить пакет?
Ответ 1
Вы можете обновить версию, используемую в вашем приложении, но не версию, используемую самим Meteor. См. Этот вопрос GitHub.
Самое простое решение - просто заменить Underscore на Lodash, у которого есть еще больше возможностей, чем у последнего Underscore. Per этот поток, это легко:
meteor add alethes:lodash
И в вашем стартовом коде:
// Use lodash instead of underscore
_ = lodash;
Если вы предпочитаете последний Underscore вместо Lodash, похоже, что на данный момент вам нужно загрузить файл из underscorejs.org и сохранить в вашу папку lib или client/compatibility. Он должен выполняться после загрузки самих библиотек Meteors и захвата переменной _. Вы также можете инициализировать его с помощью _.noConflict(), и в этом случае вы можете позволить _ оставаться с версией Meteors, и вы можете назначить новый Underscore что-то еще, например. underscore = _.noConflict();.
Я должен, вероятно, упомянуть, что любое из этих решений оставит вас в обеих библиотеках (старая версия Meteors Underscore и новая библиотека, которую вы используете), загружаемую клиенту. Пока сам Метеор не обновится (см. Вопрос GitHub выше), это неизбежно.
Ответ 2
Мое решение, использующее lodash с Meteor ES2015:
meteor npm i lodash --save
и импортировать lodash /imports/startup/client/index.js: