2016-08-06 1 views
-1

this 노드 패키지를 사용하려고합니다. 사용 지침에 따르면 require에 JSON 파일이 필요하다고 나와 있습니다. 이런 식으로 뭔가 :노드를 사용하여 JSON 스키마 참조 취소

var myschema = require('schema.json'); 

하지만 그것은 'schema.json'의 이름으로 노드 패키지를 찾을 수 원하고 오류가 발생합니다이 프로그램을 실행할 때 "모듈 'schema.json'를 찾을 수 없습니다." 이 오류를 피하려면 어떻게해야합니까?

+0

변경을,' – Hardy

답변

0

당신은 당신이 할 것이라고 라이브러리를 가져올 같은 json-schema-deref

되는 링크 libray의 이름 :

var deRefLib = require('json-schema-deref') 

그런 다음 필요로 사용해야하는 것 스키마 파일을로드 상대 경로. 스키마가 당신의 JS 파일과 같은 디렉토리에있는 경우, 다음을 사용 : '필요 ('./ schema.json ')에

var mySchema = require('./schema.json') 
+0

그것에게의'JSON require' 표준 관행인가 파일을 읽는 대신'JSON.parse'하는 것이 좋을까요? 보안과 관련 될 수 있다고 생각합니다. – qxz

+0

애플리케이션에 JSON 문자열을 가져 와서 JSON.parse'd가되도록 다른 방법을 제안 하시겠습니까? 'require' 문은 응용 프로그램의 빌드/컴파일 단계에서 평가되므로 개발자는 실행중인 코드/파일을 완벽하게 제어 할 수 있습니다. –

+0

글쎄,'fs.readFile [Sync]'. 응용 프로그램이 시작될 때 "빌드/컴파일 단계"가 올바 릅니까? JIT 편집을 말하는 거지? 그리고 언제든지 파일을 '요구'할 수 있습니까? – qxz