Node.js와 함께 밑줄 모듈 사용
node.js와 modules에 대해 배워왔는데 언더스코어 라이브러리가 제대로 작동하지 않는 것 같습니다...언더스코어에서 함수를 처음 사용하면 _개체를 함수 호출 결과로 덮어쓰는 것 같습니다.무슨 일인지 아는 사람?예를 들어 node.js REPL에서 세션을 입력합니다.
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
자바스크립트 파일을 직접 만들어서 가져오면 제대로 작동하는 것 같습니다.언더스코어 도서관에 뭔가 특별한 게 있는 건 아닐까요?
오늘(2012년 4월 30일) 현재 Node.js 코드에서 언더스코어를 평소와 같이 사용할 수 있습니다.이전 의견은 REPL 인터페이스(노드의 명령줄 모드)가 "_"을 사용하여 마지막 결과를 유지하지만 코드 파일에 자유롭게 사용할 수 있으며 표준을 수행하면 문제 없이 작동한다는 점을 지적한 것입니다.
var _ = require('underscore');
Node REPL은 언더스코어 변수를 사용하여 마지막 작업의 결과를 보유하므로 언더스코어 라이브러리에서 동일한 변수를 사용하는 경우와 충돌합니다.다음과 같은 것을 시도해 보십시오.
Admin-MacBook-Pro:test admin$ node
> _und = 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] }
> _und.max([1,2,3])
3
> _und.max([4,5,6])
6
또는:
var _ = require('underscore')._;
이름을_
에 의해 사용되는node.js
REPL: 이전 입력을 보류합니다.다른 이름을 선택합니다.
참고: 다음은 코드의 다음 줄에 대해서만 작동하며, 우연이 일치하는 경우에만 작동합니다.
로다시와 함께라면,
require('lodash');
_.isArray([]); // true
아니요.var _ = require('lodash')
Lodash가 필요할 때 전세계적으로 이 값을 불가사의하게 설정하기 때문입니다.
언급URL : https://stackoverflow.com/questions/5691901/using-the-underscore-module-with-node-js
'source' 카테고리의 다른 글
mysqli::mysqli(): (HY000/2002):소켓 'MySQL'을 통해 로컬 MySQL 서버에 연결할 수 없음 (2) (0) | 2023.10.11 |
---|---|
두 열 A,B를 기준으로 데이터 프레임에서 중복 제거, 다른 열 C에 최대값이 있는 행 유지 (0) | 2023.10.11 |
주어진 url로 이미지가 존재하는지 확인하는 방법은? (0) | 2023.10.11 |
git receive 전 후크가 heroku와 함께 감소했습니다. (0) | 2023.10.11 |
배열의 열에 대해 반복하는 방법은 무엇입니까? (0) | 2023.10.11 |