簡體   English   中英

Node.js沒有在Heroku上部署

[英]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.jsonnode_modules

rm package-lock.json
rm -rf node_modules

嘗試使用: npm install 重新安裝項目的相關npm

重新安裝這些庫后,您將擁有一個全新的package-lock.json文件,因為該文件是自動生成的,並且幾乎就像是為其他人構建項目的“ 真實來源 ”。 現在嘗試代碼推送並發布Heroku ,看看這是否可以解決您的問題。

希望這有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM