Javascript 节点js express路由[无法获取:/collection#]

Javascript 节点js express路由[无法获取:/collection#],javascript,node.js,express,Javascript,Node.js,Express,我是一个乞丐。我有一个简单的api,可以让您使用passport登录,将您重定向到/collections。这部分工作正常,问题在于返回的POST请求 Error: Not Found at D:\Movie API\src\server\server.js:44:15 at Layer.handle [as handle_request] (D:\Movie API\src\server\node_modules\express\lib\router\layer.js:82

我是一个乞丐。我有一个简单的api,可以让您使用passport登录,将您重定向到/collections。这部分工作正常,问题在于返回的POST请求

    Error: Not Found
   at D:\Movie API\src\server\server.js:44:15
   at Layer.handle [as handle_request] (D:\Movie API\src\server\node_modules\express\lib\router\layer.js:82:5)
   at trim_prefix (D:\Movie API\src\server\node_modules\express\lib\router\index.js:302:13)
   at D:\Movie API\src\server\node_modules\express\lib\router\index.js:270:7
   at Function.proto.process_params (D:\Movie API\src\server\node_modules\express\lib\router\index.js:321:12)
   at next (D:\Movie API\src\server\node_modules\express\lib\router\index.js:261:10)
   at D:\Movie API\src\server\node_modules\express\lib\router\index.js:603:15
   at next (D:\Movie API\src\server\node_modules\express\lib\router\index.js:246:14)
   at D:\Movie API\src\server\routes\secure.js:8:11
   at Layer.handle [as handle_request] (D:\Movie API\src\server\node_modules\express\lib\router\layer.js:82:5)
   at trim_prefix (D:\Movie API\src\server\node_modules\express\lib\router\index.js:302:13)
   at D:\Movie API\src\server\node_modules\express\lib\router\index.js:270:7
   at Function.proto.process_params (D:\Movie API\src\server\node_modules\express\lib\router\index.js:321:12)
   at next (D:\Movie API\src\server\node_modules\express\lib\router\index.js:261:10)
   at Function.proto.handle (D:\Movie API\src\server\node_modules\express\lib\router\index.js:166:3)
   at router (D:\Movie API\src\server\node_modules\express\lib\router\index.js:35:12)
无误:

Cannot GET /collection
我试着从邮递员那里发送POST请求,结果得到了404

var auth = express.Router();
要求('./routes/auth.js')(认证,护照); 应用程序使用('/auth',auth)

服务器路由:

var auth = express.Router();
require('./routes/auth.js')(auth, passport);
app.use('/auth', auth);

var secure = express.Router();
require('./routes/secure.js')(secure);
app.use('/', secure);
验证路径工作正常。它使用凭据访问身份验证文件,passport使用身份验证凭据。成功后,它将重定向到/collections。 认证:

现在这是安全的:

module.exports = function(router, passport){

router.use(function(req, res, next){
    if(req.isAuthenticated()){
        return next();
    }

    res.redirect('/auth');
})

// Get all collections
router.get('/collections', collection.getAll);

// Create a collection
router.post('/collection', collection.create);
// Get one product, update one product, delete one product
router.route('/collection/:id')
    .get(collection.read)
    .put(collection.update)
    .delete(collection.delete);


}
收集模块函数只是响应一个
res.json({id:req.params.id})


从/auth重定向到/collections是可以的,但是在POST/collection上我得到了提到的错误。有人有类似的问题吗?

试试
var collection=require(“../models/collection”)。。而不是

这是因为require是您所在文件的相对路径,而不是根目录

var collection = require('../models/collection');

Node.js
require()
使用CommonJS语法,所有路径都将与调用它的文件相关

var collection = require('../models/collection');