【问题标题】:Browser keeps "waiting for localhost"浏览器一直“等待本地主机”
【发布时间】:2019-05-11 10:56:29
【问题描述】:

在我的 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}`);
});

【问题讨论】:

  • 你能发布你的 index.js 文件吗?
  • 贴出的代码是index.js文件。抱歉,如果我不清楚这一点
  • 我想具体来说,你能发布你的主要 javascript 文件吗?导入路由器并调用类似app.listen() 的文件
  • 当然可以。包含 start.js 和 app.js 逻辑。
  • 根据我的经验(可能是错误的),您需要将路线连接到快递应用程序。看起来好像您正在定义路线,应用程序不知道它。应该更像这样:documentation

标签: node.js express time localhost out


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    • 2018-05-21
    • 2015-02-23
    • 2015-07-09
    • 1970-01-01
    • 2019-01-17
    • 2014-02-26
    相关资源
    最近更新 更多