【问题标题】:CANNOT GET / in Node app在 Node 应用程序中无法获取 /
【发布时间】:2023-04-07 05:49:01
【问题描述】:

我已经检查了其他相关问题,但无法确定导致问题的原因(这里没有太多经验)。我试图启动this app locally 基本上使用其默认设置(除了一些Twilio 键),安装了依赖项,mongo 正在运行,但是 localhost:5000 返回 CANNOT GET /。

> node server.js
  listening on port 5000

server.js:

// modules =================================================
var express        = require('express');
var app            = express();
var bodyParser     = require('body-parser');
var http = require('http').Server(app);
var io = require('socket.io')(http);         //real-time chat
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
var cookieParser = require('cookie-parser');

// configuration ===========================================

// public folder for images, css,...
app.use(express.static(__dirname + '/public'))

// config files
// database
var db = require('./config/db');
//  models
var User = require('./app/models/users');
var Message = require('./app/models/messages');

//parsing
app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({ extended: true })); //for parsing url encoded

//AUTH========================================================
app.use(cookieParser());
app.use(require('express-session')({
    secret: 'white rabbit',
    resave: false,
    saveUninitialized: false
}));
app.use(passport.initialize());
app.use(passport.session());

// passport config
var Member = require('./app/models/members');
passport.use(new LocalStrategy(Member.authenticate()));
passport.serializeUser(Member.serializeUser());
passport.deserializeUser(Member.deserializeUser());

// view engine ejs
app.set('view engine', 'ejs');

//chat namespace
var chatSocket = io.of('/chat')

//routes
require('./app/routes/routes')(app, chatSocket);

//Heroku port
app.set('port', (process.env.PORT || 5000));

//ADMIN====================================================
//create an admin account if none exists
var admin = Member.find({admin: true}, function(err, admins) {
  if (err) throw err

  else if(admins.length == 0){
    //no admin. create default account
    Member.register(new Member({username: "admin", admin: true}), "mypassword", function(err, admin){
      if(err) throw err;
      console.log('Defaut account created successfully!');
    })
  }

  else{
    //at least one admin exists
    console.log('Admin account already exists : ');
    console.log(admins)
  }
});

//START ===================================================
http.listen(app.get('port'), function(){
  console.log('listening on port ' + app.get('port'));
});

//SOCKET ==================================================
require('./app/controllers/socket')(chatSocket, User, Message);

【问题讨论】:

    标签: node.js mongodb express npm


    【解决方案1】:

    你没有设置任何指向 / 的路由

    使用 app.get 指向该路线

    app.get("/", function(req, res) {
        res.send("home");
    });
    

    在您克隆的存储库的 /app/routes/*.js 文件中有可用的路由。

    【讨论】:

      猜你喜欢
      • 2017-04-24
      • 2017-07-24
      • 2020-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-22
      • 1970-01-01
      相关资源
      最近更新 更多