Express'i kullanarak örnek bir web sitesi yapıyorum ve tam olarak anlamadığım bir şeye çarpıyorum.
Doğru bir şekilde anladığımda hata kodu olan ara katman (lar) boru hattındaki son bir tanesi olmalıdır. Örneğin, sadece iyi çalışır:Ara katman yazılımı her zaman hata yapmıyor
var http = require('http');
var express = require('express');
var app = express();
app.set('view engine', 'jade');
app.set('views', './views');
app.use(express.static('./public'));
http.createServer(app).listen(portNumber, function() { });
app.get('/hello', function(req, res) {
res.send('Welcome!');
});
app.use(function(err, req, res, next) {
res.status(500).send('something broke!');
});
app.get('/error', function(req, res, next) {
somethingNonExistent(2016);
});
Ancak, ben http.createServer çağrı önce ortakatmanını kayıt, ancak diğer tüm ara katman tescil edilmesinden sonra, o işe yaramaz eğer - benim kod çağrılmaz:
var http = require('http');
var express = require('express');
var app = express();
app.use(express.static('./public'));
app.use(function(err, req, res, next) {
res.status(500).send('something broke!');
});
http.createServer(app).listen(portNumber, function() { });
app.get('/hello', function(req, res) {
res.send('Welcome!');
});
app.get('/error', function(req, res, next) {
somethingNonExistent(2016);
});
burada ne kaçırdım? Tahminim, app.get çağrılarının bazı ara katman yazılımlarını dahili olarak kullanması ve bu durumun berbat olması.
Herhangi bir değişiklik yaparsa, Express 3.2.6 ve Node.js 0.10.29 kullanıyorum
Lütfen aşağıya oy verin lütfen – chester89
Downvotes hakkında emin değilim, ama cevap vermek için ne zaman aramamı engelleyen gereksiz bir kod. Cevap almanın en iyi yolu, tüm uygulamanızı yayınlamadığınız en basit kullanım durumunu yayınlamaktır. Kimse hata ayıklamadan hoşlanmıyor, bir başkasının kodunu ayıklamaya bile gerek yok. Limana giriş yapma, ortam yapılandırmalarını ayarlama, bir günün uzunluğunu hesaplamak için matematik, vs. 'var app = express(); app.use (bir şey); app.get ("/ merhaba", ...);/* hata işleme girişimi */' – cdbajorin
@cdbajorin noktası alındı. – chester89