在控制台中,它会显示app / server正在运行的消息,但是当我在浏览器中打开应用程序时,它显示的页面不可用。
这是我的服务器初始化代码( app.js ):
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var server = require('http').Server(app);
var io = require('socket.io')(server);
var app = express();
var viewRoute = require('./routes/view'),
apiRoute = require('./routes/api');
app.set('views', path.join(__dirname, 'views'));
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', viewRoute);
app.use('/api', apiRoute);
server.listen(9190, function(){
var host = server.address().address,
port = server.address().port;
console.log("Server Running @ http:%s:%s", host, port);
});
我的路线文件( api.js ):
var express = require('express');
var api = express.Router();
module.exports = (function() {
api.get('/', function(req, res, next) {
console.log("GET Request for Index Page");
});
api.get('/home', function(req, res, next) {
console.log("GET Request for Home Page");
});
return api;
})();
我已经搜索了谷歌和其他所有资源,但无法找到解决方案。
答案 0 :(得分:1)
您似乎没有将回复发送回浏览器,
在api.js
中将api.get('/'
代码更改为以下内容:
api.get('/', function(req, res, next) {
res.send("Yes Its working now");
});
答案 1 :(得分:-1)
您没有向客户端发送任何内容,因此您的浏览器中不会显示任何内容。请使用res.send
或类似内容。
我建议您更改类似的代码,看看是否有效:
var express = require('express'),
app = exports = module.exports = express();
app.get('/', function (req,res) {
console.log("GET Request for Index Page");
res.send("GET / - 200");
});
app.get('/home', function (req,res) {
console.log("GET Request for home Page");
res.send("GET /home - 200");
});
我顺便删除了导出的函数立即调用。
答案 2 :(得分:-1)
我也有同样的问题,我的服务器正在运行,但我无法在浏览器上打开我的应用程序,卸载 skype 为我工作。