2012-12-18 6 views
0

익스프레스 앱에서 Sanford 암호화 라이브러리 (sjcl)를 사용하려고합니다. 나는 내 app.js 파일에 다음을 시도했다 :노드 익스프레스 경로에 자바 스크립트 라이브러리 포함

var sjcl = require('.lib/sjcl.js'); 

다음 내 루트/journal.js 파일에 sjcl.encrypt 부르지 만,이 정의되지하다는 오류가 발생하려고합니다.

다음 처음에는 journal.js 파일에 라이브러리가 필요했지만 ./lib/sjcl.js 모듈을 찾을 수 없습니다.

sjcl.js 라이브러리는 sjcl 객체를 내보내므로 그렇게 보이지 않습니다.

내 라우터 파일에서 sjcl 라이브러리에 액세스하는 방법에 대한 아이디어가 있습니까?

+1

아마도 .lib가 아니지만 ./lib – chovy

답변

1

다음으로 내 routes/journal.js 파일에서 sjcl.encrypt를 호출하려고하지만 정의되지 않았다는 오류가 발생합니다.

require()은 해당 모듈을 나타내는 개체를 반환합니다.
var x = require(...)은 해당 개체를 로컬 변수에 할당합니다.
다른 .js 파일에는 영향을주지 않습니다.

다음으로 처음에는 journal.js 파일에 라이브러리가 필요하지만 ./lib/sjcl.js 모듈을 찾을 수 없습니다.

상대 경로가 잘못되었을 때 발생합니다.

+0

나는 journal.js와 같은 디렉토리에 sjcl.js를 복사하고 시도 했으므로 ('sjcl.js' ./sjcl.js ")가 나왔습니다. 경로에 대해 별도의 lib 폴더를 만들어야 만합니다. 모두 함께 남겨두기를 바랬습니다. –

+0

@TimDrake : 'require ('../. ./whatever ')' – SLaks

관련 문제