Node.js не развертывается на Heroku - PullRequest
0 голосов
/ 16 апреля 2019

У меня работает приложение Node.JS + express с использованием express-hbs.Все работает при локальном запуске, но при развертывании в Heroku происходит сбой.

Я пробовал некоторые очевидные действия по устранению неполадок, такие как:

var port = process.env.PORT || 80;

Но проблема по-прежнему сохраняется.

Вот полная ошибка:

/app/node_modules/express-hbs/lib/hbs.js:90
   var matches = str.match(layoutPattern);
 TypeError: Cannot read property 'match' of undefined
     at ExpressHbs.declaredLayoutFile (/app/node_modules/express-hbs/lib/hbs.js:90:21)
     at parseLayout (/app/node_modules/express-hbs/lib/hbs.js:476:27)
     at /app/node_modules/express-hbs/lib/hbs.js:598:7
     at getSourceTemplate (/app/node_modules/express-hbs/lib/hbs.js:572:16)
     at compileFile (/app/node_modules/express-hbs/lib/hbs.js:594:5)
     at /app/node_modules/express-hbs/lib/hbs.js:647:16
     at ReaddirpReadable.<anonymous> (/app/node_modules/express-hbs/lib/hbs.js:196:17)
     at emitNone (events.js:106:13)
     at ReaddirpReadable.emit (events.js:208:7)
     at endReadableNT (/app/node_modules/readable-stream/lib/_stream_readable.js:1010:12)
 npm ERR! code ELIFECYCLE
 npm ERR! errno 1

Локально я использую Node.js v6.11.4 и NPM v3.10.10, оба из которых включены в package.json

1 Ответ

0 голосов
/ 16 апреля 2019

Это может быть проблема с вами package-lock.json файл выходит из строя ... Особенно, поскольку ошибка возникает изнутри вашего express-hbs модуля узла:

app / node_modules / express-hbs / lib / hbs.js: 90

Может быть, вы можете попробовать удалить локальный файл package-lock.json, а также каталог node_modules, а затем попробовать переустановить зависимые библиотеки?

Например, после удаления package-lock.json и node_modules:

rm package-lock.json
rm -rf node_modules

Попробуйте переустановить зависимые npm библиотеки вашего проекта с: npm install

После переустановки этих библиотек у вас будет свежий обновленный файл package-lock.json, поскольку этот файл автоматически генерируется и служит почти как " источник истины * 1032". * «за строительство вашего проекта другим. Теперь попробуйте отправить и опубликовать ваш код на Heroku и посмотреть, решит ли это вашу проблему.

Надеюсь, это поможет!

...