2016-08-06 2 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'ing его? Я полагаю, что могут быть последствия для безопасности. – qxz

+0

Какие еще средства вы могли бы предложить, чтобы ваша строка JSON в вашем приложении была 'JSON.parse'd? Операторы 'require' оцениваются на этапе сборки/компиляции приложения и, таким образом, разработчик имеет полный контроль над исполняемым кодом/файлами. –

+0

Ну, 'fs.readFile [Sync]'. Правильно ли «этап сборки/компиляции» при запуске приложения? Вы имеете в виду компиляцию JIT, верно? И вы можете «потребовать» файл в любое время, я ошибаюсь? – qxz

Смежные вопросы