УчитываяОбертывания требует
3 Node.js проекты Главной - Framework - Хранилища
Главной имеет два других проектов, связанные с помощью НОЙ ссылки.
В тесте я обернул требование в методе. У меня есть некоторые проблемы, связанные разрешающих проекты (подробности ниже)
упрощенный код выглядит следующим образом:
module.export.resolve = function(file){
[...]//Some more logik to handle relative pathes
return require(file)
}
Это прекрасно работает в большинстве случаев. Я также работал, чтобы получить обращаться с родственниками трактов (смотрют на абонент и применить тракты на основе этого пути)
Теперь это в Framework проекта, который связан (ссылка НОЙ) в Project Main. Проект main также имеет Репозитории проекта связаны.
Сейчас в проекте Главная у меня есть:
require('ProjectRepositories/foo') // Works as expected
myRequire.resolve('ProjectRepositories/foo') // Returns MODULE_NOT_FOUND "Cannot find module 'ProjectRepositories/foo'
Я предполагаю, что проблема заключается в том, что Хранилища Project IST не связаны в Framework Project. Но есть ли другой способ, чем связать их?
Я бы предпочел иметь меньше зависимостей. Любые намеки на это?
Мне не совсем ясно, как выглядит ваша структура. Не могли бы вы уточнить? Между тем, знаете ли вы, что у вас может быть ['NODE_PATH'] (https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders) env var? – gustavohenke
Вы говорите «работает как ожидалось», но вы не говорите, что он возвращает. Таким образом, он может вернуть то же самое. Из того, что вы разместили, он делает то же самое, за исключением того, что вы написали дополнительную логику, которая может фактически испортить то, что требует импорта. Если вы создаете функцию resol2, которая напрямую возвращает 'require (file)', она должна работать так же хорошо, как ваш '' прямой вызов '' ('ProjectRepos/foo') 'invocation. Тогда вы, вероятно, пришли бы к выводу, что ваша собственная логика на самом деле лежит там, где я ошибаюсь. – EricG