我想在Openshift上部署一個簡單的node.js應用程序,但我根本無法讓它運行。我的package.json是:無法使用Openshift創建node.js網絡服務器。對象#<Object>沒有方法'聽'
{
"name": "songcatapp",
"version": "1.0.0",
"engines": {
"node": ">= 0.6.0",
"npm": ">= 1.0.0"
},
"dependencies": {
"colors": "0.x.x",
"optimist": "0.2.x",
"pkginfo": "0.2.x",
"http-proxy": "0.7.3",
"htmlparser": "1.7.3",
"mongodb": "0.9.7-0",
"ent": "0.x.x"
},
"devDependencies": {},
"bundleDependencies": [],
"private": true,
"scripts": {
"start": "node server.js"
},
"main": "server.js"
}
我server.js是:
var server_port = process.env.OPENSHIFT_NODEJS_PORT || 8080
var server_ip_address = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1'
console.log("ServerPort: "+server_port+", ServerIP: "+server_ip_address);
http.createServer(function(request, response) {
response.writeHead(200);
response.end('Hello Http');
});
console.log("http: %j", http);
http.listen(server_port, server_ip_address, function() {
console.log("Listening on " + server_ip_address + ", server_port " + port)
});
在應用程序啓動時,我得到的錯誤是:
http.listen(server_port, server_ip_address, function() {
^
TypeError: Object #<Object> has no method 'listen'
at Object.<anonymous> (/var/lib/openshift/53520a0be0b8cd914a000187/app-root/runtime/repo/server.js:578:6)
我已經從上部署的應用程序DotCloud和亞馬遜沒有任何問題。我一直被困在Openshift一兩天了!
任何人都可以請幫忙嗎?
非常感謝
你可以試試這樣說: http.createServer(函數(請求,響應){ response.writeHead(200); 到Response.End( '你好HTTP');} )聽(SERVER_PORT) ; – user3241019
謝謝,但多數民衆贊成沒有什麼不同,並沒有解釋爲什麼HTTP對象似乎是錯誤的對象類型 – peetj