2012-08-02 2 views
2

couchdb 1.2.x를 사용하고 있으며 목록에 underscorejs을 사용하려고합니다. 성공하지 못했습니다.couchapp 목록의 밑줄을 사용하여

function(head, req) { 
    var _ = require('vendor/underscore/underscore'); 
    log(_); 
} 

CouchDB를 로그를 보면, 내가 var _가 정의되지 않은 것을 볼 수 있습니다 : 여기

내가 진행하는 방법입니다. 또한, underscorejs 로그는 말한다 :

1.3.0 - 년 1 월 11 밑줄 2012
제거 AMD (RequireJS) 지원. RequireJS와 함께 Underscore를 사용하려면 일반 스크립트로로드하거나 사본을 포장하거나 패치하거나 분기 된 버전을 다운로드 할 수 있습니다.

정확하게 진행하는 방법이 확실하지 않습니다. 모든 단서?

감사

답변

1

단지 내가 드롭 인 교체 Lo-Dash를 사용하는 한 제안한다.

다른 것들 중에서도 AMD 로더 지원을 제공합니다.

+1

: 목록 기능 자체에서

designDoc = ... lib: underscore: "<actual underscore code as a string>" ... list: listFunction: "<list function as a string, see below>" ... 

: 이것은 내 디자인 문서에서

내가 가져 라이브러리를 선언 한 다음 목록 함수에서 그에서 당겨 ... 모든 커피 스크립트에 고마워, 불행히도 나는 로다시를 사용할 수 없었다. 여기 내가 한 일이있다 :'var _ = require ('vendor/lodash'); 로그 (_. 버전);'. 나는 또한 성공하지 않고 http://lodash.com/에 표시된 다양한 방법을 시도했다. 어떤 단서? – user1415785

1

로그 상태의 오류 메시지로 Underscore.js는 더 이상 AMD 모듈로 포맷되지 않습니다. 가능한 한 두 가지 해결책이 있습니다. shim 또는 AMD-ified 밑줄을 사용하십시오.

심 :

Shim이 필요한 AMD의 보일러에 밑줄을 포장하고의 수정되지 않은 버전을 사용할 수 있도록, 당신에게 상대적으로 투명해야한다 _. 귀하의 경우에는

쉽게, 그래서 같이 requireJS을 구성

require.config({ 
    paths: { 
    underscore: "vendor/underscore/underscore" 
    }, 
    shim: { 
    underscore: { 
     exports: '_' 
    } 
    } 
}); 

참고 :가 나는 또한 편의를 위해 밑줄에 대한 경로 별칭을 정의하지만이 심 작업을 할 필요는 없습니다.

AMD-쓸어 : 밑줄 (백본)의 AMD-ified하게 된 버전은 여기 requireJS의 저자에 의해 유지된다

: 당신이 CouchDB를 목록을 만들려고하는 것처럼 https://github.com/amdjs/underscore

+0

@rhaper 감사합니다. 불행히도 작동하지 않습니다.나는 couchdb가 requirejs v1에 대해서만 지원하기 때문에 이것이라고 생각한다. 그러나 이것에 대해서는 정확하지 않기 때문에 틀릴 수도있다. AMD-ify 버전은 잘 동작하지 않습니다 ('var _ = require ('vendor/underscore'; log (_);'는 정의되지 않은 값을 반환합니다). 어떤 생각? 감사 – user1415785

1

가 보이는 기능. 여기 내가 밑줄을 긋는 방법이있다.

(head, req) -> 
    _ = require 'lib/underscore'