Показать сообщение отдельно
  #1 (permalink)  
Старый 10.01.2017, 17:01
Новичок на форуме
Отправить личное сообщение для peter_iglaev Посмотреть профиль Найти все сообщения от peter_iglaev
 
Регистрация: 10.01.2017
Сообщений: 1

Инициализация модуля в текущем окружении
Добрый день. Столкнулся со следующей проблемой в NodeJS.
Имеются:
data.json - данные по пользователю
{
 "firstname":"Иван",
 "lastname":"Иванов",
 "patronymic":"Иванович",
}

functions.js - файл с функцией возврата некоего значения из JSON
var data = require('./data');

function getProperty(attr) {
	return eval("data." + attr);
}

patronomyc.js - файл с определенным кодом, он поставляется в дистрибутиве к системе. Его нельзя изменять, его необходимо проверить. Соответсвенно, var subject = require('./functions'); нельзя добавить к нему
var attr = subject.getProperty("patronymic");
if (attr != null && attr.length>30)
  attr  = attr.substring(0,30);
return attr;


С помощью файлов data.json и functions.js я пытаюсь сэмулировать окружение для проверки работоспособности файла
patronomyc.js.

Создал для этого новый файл run.js
var subject = require('./functions');
var patr = require('./patronomyc');

но require('./patronomyc') выдает ошибку на неизвестный объект subject.

Как можно передать этот объект в модуль перед его инициализацией?
Либо, запустить инициализацию в текущем окружении с уже объявленным и доступным для patronomyc.js subject?


Модуль functions.js желательно также не трогать...

Заранее спасибо за консультацию.
Ответить с цитированием