Я изучал node.js и модули и не могу заставить библиотеку Underscore работать должным образом ... кажется, что когда я в первый раз использую функцию из Underscore, она перезаписывает объект _ с результатом мой вызов функции. Кто-нибудь знает, что происходит? Например, вот сеанс из REPL узла.js:
Admin-MacBook-Pro:test admin$ node
> require("./underscore-min")
{ [Function]
_: [Circular],
VERSION: '1.1.4',
forEach: [Function],
each: [Function],
map: [Function],
inject: [Function],
(...more functions...)
templateSettings: { evaluate: /<%([\s\S]+?)%>/g, interpolate: /<%=([\s\S]+?)%>/g },
template: [Function] }
> _.max([1,2,3])
3
> _.max([4,5,6])
TypeError: Object 3 has no method 'max'
at [object Context]:1:3
at Interface.<anonymous> (repl.js:171:22)
at Interface.emit (events.js:64:17)
at Interface._onLine (readline.js:153:10)
at Interface._line (readline.js:408:8)
at Interface._ttyWrite (readline.js:585:14)
at ReadStream.<anonymous> (readline.js:73:12)
at ReadStream.emit (events.js:81:20)
at ReadStream._emitKey (tty_posix.js:307:10)
at ReadStream.onData (tty_posix.js:70:12)
> _
3
Когда я сам создаю файлы Javascript и импортирую их, кажется, что они работают правильно. Может быть, есть что-то особенное в библиотеке Underscore?
node.js
module
underscore.js
Geoff
источник
источник
_
в REPL.С сегодняшнего дня (30 апреля 2012 г.) вы можете использовать Underscore как обычно для своего кода Node.js. Предыдущие комментарии правильно указывают на то, что интерфейс REPL (режим командной строки узла) использует «_» для хранения последнего результата, НО вы можете свободно использовать его в своих файлах кода, и он будет работать без проблем, выполняя стандарт:
Удачного кодирования!
источник
Или :
источник
npm install -g underscore
Ты имеешь в виду :)npm install -g
Имя,
_
используемоеnode.js
REPL для хранения предыдущего ввода. Выберите другое имя.источник
Примечание: следующее работает только для следующей строки кода и только из-за совпадения.
С Лодашем,
Нет,
var _ = require('lodash')
поскольку Lodash таинственно устанавливает это значение глобально, когда это необходимо.источник
_
. Результатом вашего последнего заявления стала библиотека lodash. Так_.isArray([])
будет работать на следующей строке , но больше никогда.