[英]Node.js application crashing
我只是從node.js開始,並試圖部署Pusher的示例身份驗證代碼,但失敗了,這是代碼-
var express = require( 'express' );
var Pusher = require( 'pusher' );
var app = express( express.logger() );
app.use( express.bodyParser() );
var pusher = new Pusher( { appId: '<appid>', key:'<key>', secret:'<secret>' } );
app.post( '/pusher/auth', function( req, res ) {
var socketId = req.body.socket_id;
var channel = req.body.channel_name;
var auth = pusher.auth( socketId, channel );
res.send( auth );
} );
var port = process.env.PORT || 5000;
app.listen( port );
執行節點messages-server.js會引發以下情況-
user@ubuntu:~/Desktop/messaging_server$ node messaging-server.js
Error: Most middleware (like logger) is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.
at Function.Object.defineProperty.get (~/Desktop/messaging_server/node_modules/express/lib/express.js:89:13)
at Object.<anonymous> (~/Desktop/messaging_server/messaging-server.js:11:28)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3
我該如何調試?
您已經安裝了express 4,但是Pusher的文檔使用的是Express的舊版本。 讓我們使用morgan
替換現已失效的express.logger()
:
var express = require( 'express' );
var Pusher = require( 'pusher' );
var logger = require('morgan');
var app = express( logger() );
app.use( express.bodyParser() );
var pusher = new Pusher( { appId: '<appid>', key:'<key>', secret:'<secret>' } );
app.post( '/pusher/auth', function( req, res ) {
var socketId = req.body.socket_id;
var channel = req.body.channel_name;
var auth = pusher.auth( socketId, channel );
res.send( auth );
} );
var port = process.env.PORT || 5000;
app.listen( port );
(不要忘記運行npm install morgan
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.