Câu trả lời 4.x:
Express 4.x (theo câu trả lời của Tiến Do bên dưới), hiện xử lý app.listen () dưới dạng hoạt động không đồng bộ, do đó listener.address () sẽ chỉ trả về dữ liệu bên trong cuộc gọi lại của app.listen ():
var app = require('express')();
var listener = app.listen(8888, function(){
console.log('Listening on port ' + listener.address().port); //Listening on port 8888
});
Thể hiện 3 câu trả lời:
Tôi nghĩ rằng bạn đang tìm kiếm điều này (thể hiện cụ thể?):
console.log("Express server listening on port %d", app.address().port)
Bạn có thể đã thấy điều này (dòng dưới cùng), khi bạn tạo cấu trúc thư mục từ express
lệnh:
alfred@alfred-laptop:~/node$ express test4
create : test4
create : test4/app.js
create : test4/public/images
create : test4/public/javascripts
create : test4/logs
create : test4/pids
create : test4/public/stylesheets
create : test4/public/stylesheets/style.less
create : test4/views/partials
create : test4/views/layout.jade
create : test4/views/index.jade
create : test4/test
create : test4/test/app.test.js
alfred@alfred-laptop:~/node$ cat test4/app.js
/**
* Module dependencies.
*/
var express = require('express');
var app = module.exports = express.createServer();
// Configuration
app.configure(function(){
app.set('views', __dirname + '/views');
app.use(express.bodyDecoder());
app.use(express.methodOverride());
app.use(express.compiler({ src: __dirname + '/public', enable: ['less'] }));
app.use(app.router);
app.use(express.staticProvider(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
// Routes
app.get('/', function(req, res){
res.render('index.jade', {
locals: {
title: 'Express'
}
});
});
// Only listen on $ node app.js
if (!module.parent) {
app.listen(3000);
console.log("Express server listening on port %d", app.address().port)
}
req.headers.host