2016-08-06 99 views
-1

所以我試圖使用this節點包。使用說明指出我需要require JSON文件。事情是這樣的:使用節點解引用JSON模式

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

但是當我運行這一點,希望通過「schema.json」的名義找一個節點包並拋出一個錯誤「無法找到模塊‘schema.json’」。我如何避免這個錯誤?

+0

將其更改爲'要求(「./ schema.json」);' – Hardy

回答

0

的libray你聯繫到正在json-schema-deref

因此,導入庫,你會做的名字:

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

然後加載模式文件,你需要使用要求與相對路徑。如果你的模式是在同一目錄作爲您的JS文件,你可以使用:

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

它是標準的做法'require'一個JSON文件而不是閱讀&'JSON.parse'它呢?我想可能會有安全隱患。 – qxz

+0

您還有其他建議將您的JSON字符串放入應用程序中的方法是否爲'JSON.parse'd? 'require'語句在應用程序的構建/編譯階段進行評估,因此開發人員可以完全控制正在執行的代碼/文件。 –

+0

好吧,'fs.readFile [同步]'。應用程序啓動時,「構建/編譯階段」是否正確?你指的是JIT編譯,對吧?你可以隨時「需要」一個文件,我錯了嗎? – qxz