簡體   English   中英

Node.js應用程序崩潰

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

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