Ошибка паспорта при запуске паруса через jxcore
Я пытаюсь защитить код моего проекта sailsjs с помощью jxp (из jxcore).
Я успешно создал пакет и установил несколько модулей (один из них - паспорт). Все установки прошли нормально, но когда я запускаю приложение, у меня появляется следующее сообщение об ошибке:
luc@venus: /tmp/proj $ ~/Desktop/jx my_package.jx
/private/tmp/proj/config/passport.js.jx:10
passport.serializeUser(function(user, done) { ^
TypeError: Object #<Object> has no method 'serializeUser'
at Object.<anonymous> (/private/tmp/proj/config/passport.js.jx:10:14)
at Module._compile (module.js:520:26)
at Object.Module._extensions..jx (module.js:1352:405)
at Module.load (module.js:359:33)
at Function.Module._load (module.js:333:12)
at Module.require (module.js:372:17)
at require (module.js:399:17)
at Object.<anonymous> (/private/tmp/proj/config/passport.js:3:16)
at Module._compile (module.js:520:26)
at Object.Module._extensions..js (module.js:538:10)
Любая идея?
ОБНОВИТЬ
При использовании последней версии jx (бета2) у меня теперь возникает следующая ошибка при запуске jx MYPROJ.jx
/Users/luc/proj1/node_modules/sails/node_modules/winston/lib/winston.js.jx:52
winston.loggers = new winston.Container();
2 ответа
В JXCore есть проблема, которая будет исправлена в следующем выпуске для циклических требований, которые использует Winston.
См. https://github.com/Nubisa/jxdocs/issues/123 для получения дополнительной информации.
Вы просто обновляете его до последней версии JXcore, и он будет работать нормально. Я только что проверил аналогичный случай без проблем.
Обновить
Кажется, что модуль pkginfo (один из узловых модулей, используемых Winston), пытается получить доступ к списку каталогов внутри пакета, который ограничен из-за защиты.