快递无法到达路线

时间:2017-08-16 10:31:44

标签: javascript node.js express

我有以下文件:(auth.js

module.exports = function (express, mongoose, router) {

    router.route('/setup')
        .get(function (req, res) {
            var salt = bcrypt.genSaltSync(10);
            var hashed =  bcrypt.hashSync(req.query.password, salt);
            // create a sample user
            mongoose.models.playlist.create({username: 'Hieratic', password: hashed}, function (err, item) {

                if (err) throw err;

                console.log('User saved successfully');
                res.json({ success: true });
            });

        });


    return router;
};

当前服务器文件:(server.js

    "use strict";

var url = require('url');
var express = require('express');
var bodyParser = require('body-parser');
var fs = require('fs');
var crypto = require('crypto');
//npm install request
var request = require('request');
var config = require('./config/access.json');
var admin = require("firebase-admin");
var fireBaseConfig = require('./config/firebase.config.json');
var mongoose = require('mongoose');
var MongoClient = require('mongodb').MongoClient;
var mongodbConfig = require('./config/database.json');
var exec = require('child-process-promise').exec;
var app = express();

/**
 * Schemas
 */
var UserModel = require('./schemas/user.schema.js')(mongoose);
var PlayListModel = require('./schemas/playlist.schema.js')(mongoose);


app.use(function (req, res, next) {
    // CORS headers
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
    res.header("Access-Control-Allow-Headers",
        "Origin, X-Requested-With, Content-Type, Accept, x-access-token, Cache-Control, Pragma"
    );
    next();
});
var router = express.Router();
app.use(bodyParser.json({limit: '4mb'}));
app.use(bodyParser.urlencoded({
    extended: true,
    limit: '4mb'
}));

if (mongodbConfig.username && mongodbConfig.password) {
    mongoose.connect(`mongodb://${mongodbConfig.username}:${mongodbConfig.password}@${mongodbConfig.host}:${mongodbConfig.port}/${mongodbConfig.database}`);
}
else {
    mongoose.connect(`mongodb://${mongodbConfig.host}:${mongodbConfig.port}/${mongodbConfig.database}`);
}
process.on('disconnect', function () {
    // If mongodb connection is not terminated child process never dies
    mongoose.disconnect();
});
require('./auth.js')(express, mongoose, router);


var port = 51000;
app.listen(port);
console.log('Magic happens at http://localhost:' + port);

当我尝试访问/setup路由时,它会点击服务器,但会抛出一个html页面:

http://localhost:51000/setup):

<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Error</title>
</head>
<body>
    <pre>Cannot GET /setup</pre>
</body>

有谁能看到我做错了什么?

2 个答案:

答案 0 :(得分:3)

您已创建/** * @param num1 * @param num2 */ public void sum(int num1, int num2) { ... } ,但未将其注册为中间件:

router

答案 1 :(得分:0)

参考Cannot GET / Nodejs Error 您没有设置路线。 像这样服务你的页面:

app.get('/', function (req, res) {
  res.render('index', {});
});