2016-10-03 63 views
1

我想部署一個簡單的node.js應用程序到heroku,但它一直告訴我,「缺少腳本:開始」即使在添加它後的package.json 我packacge.json樣子: -Heroku日誌:「缺少腳本:開始」,即使它在:(

{ 
    "name": "deploy_demo", 
    "version": "1.0.0", 
    "keywords": [ 
    "util", 
    "functional", 
    "server", 
    "client", 
    "browser" 
    ], 
    "author": "Babar", 
    "contributors": [], 
    "dependencies": { 
    "ejs": "^2.5.2", 
    "express": "^4.14.0" 
    }, 
    "main": "main.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1", 
    "start": "node main.js" 
    }, 
    "license": "ISC", 
    "description": "" 
} 

我爲我的入口點代碼: main.js

Heroku的日誌: heroku logs

注:釷在應用程序在本地主機服務器工作正常 請幫助我,我在新的Node.js,由於

回答

3

使用process.env.PORT在任何Node.js Heroku應用程序中設置端口。

另外,請確保您在localhost上運行的代碼與Heroku應用上運行的代碼相同。

+2

日Thnx很多它的工作原理 – Zub

2

你不能在Heroku上的自定義端口上偵聽,你必須使用process.env.PORT如此他們可以爲你設置它。

+2

yups,感謝我缺少端口ENV :) – Zub

1

"scripts":{ 
"start":"node ." 

}

試試這個,也可以使用端口ENV

+2

yups,感謝我缺少端口ENV: ) – Zub

2

聽起來像是你有它在package.json像確信,

"scripts": { 
    "start": "node main.js" 
} 

..和你可以嘗試添加一個Procfile

web: npm start 

除此之外,如果它只在本地爲你工作,還要確保你提交併推送到Heroku,如git push heroku master

旁白:順便說一下,對流是命名您的出發點一樣server.js