浏览器保持 "waiting for localhost"

Browser keeps "waiting for localhost"

在我的 index.js 文件中:

const express = require('express');
const router = express.Router();

// Do work here
router.get('/', (req, res) => {
  res.send('Hey! It works!');
});

module.exports = router;

我能够很好地发出第一个请求,但每个后续请求都只是等待 localhost 直到超时。

app.js 看起来像:

const express = require('express');
const session = require('express-session');
const mongoose = require('mongoose');
const MongoStore = require('connect-mongo')(session);
const path = require('path');
const cookieParser = require('cookie-parser');
const bodyParser = require('body-parser');
const passport = require('passport');
const promisify = require('es6-promisify');
const flash = require('connect-flash');
const expressValidator = require('express-validator');
const routes = require('./routes/index');
const helpers = require('./helpers');
const errorHandlers = require('./handlers/errorHandlers');

// create our Express app
const app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views')); // this is the folder where we keep our pug files
app.set('view engine', 'pug'); // we use the engine pug, mustache or EJS work great too

// serves up static files from the public folder. Anything in public/ will just be served up as the file it is
app.use(express.static(path.join(__dirname, 'public')));

// done! we export it so we can start the site in start.js
module.exports = app;

start.js 文件如下所示。我应该补充一点,这不是我自己的代码 - 它是 Wes Bos node.js 教程的一部分。

const mongoose = require('mongoose');

// import environmental variables from our variables.env file
require('dotenv').config({ path: 'variables.env' });

// Connect to our Database and handle any bad connections
mongoose.connect(process.env.DATABASE);
mongoose.Promise = global.Promise; // Tell Mongoose to use ES6 promises
mongoose.connection.on('error', (err) => {
  console.error(`        → ${err.message}`);
});

// READY?! Let's go!


// Start our app!
const app = require('./app');
app.set('port', process.env.PORT || 7777);
const server = app.listen(app.get('port'), () => {
  console.log(`Express running → PORT ${server.address().port}`);
});

设法解决了我自己的问题,所以我向可能遇到来自 Wes Bos Node.js 教程的相同问题的任何人报告。

解决方案是 仔细检查我的 variables.env 文件 - 我愚蠢地在用户名和密码字段周围留下了箭头括号。如果您遇到此问题,请确保您的 DATABASE 环境变量看起来像这样:

DATABASE=mongodb://dang:dang@ds057833.mlab.com:57833/dang-thats-delicious