[英]Node.js not deploying on Heroku
我有一個使用express-hbs運行的Node.JS + express應用程序。 在本地運行時一切正常,但在部署到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中
這可能是一個問題與您package-lock.json
文件越來越不舒服......尤其是,由於錯誤是從內發起express-hbs
節點模塊:
應用程序/ node_modules /快遞-HBS / lib目錄/ hbs.js:90
也許你可以嘗試刪除你的本地package-lock.json
文件,以及你的node_modules
目錄,然后嘗試重新安裝你的依賴庫?
例如,一旦刪除了package-lock.json
和node_modules
:
rm package-lock.json
rm -rf node_modules
嘗試使用: npm install
重新安裝項目的相關npm
庫
重新安裝這些庫后,您將擁有一個全新的package-lock.json
文件,因為該文件是自動生成的,並且幾乎就像是為其他人構建項目的“ 真實來源 ”。 現在嘗試將代碼推送並發布到Heroku
,看看這是否可以解決您的問題。
希望這有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.