我不知道为什么我得到了无法POST错误。我正在通过正确的路线。服务器正在侦听端口。
index.js
const router = require('./router');
var app = express()
app.use(express.static(__dirname + "/public"));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
var server = app.listen(process.env.PORT || 8080, function() {
var port = server.address().port;
console.log("App now running on port", port);
});
router(app);
router.js
const Authentication = require('./authentication');
const express = require('express');
const passport = require('passport');
const requireAuth = passport.authenticate('jwt', { session: false });
const requireLogin = passport.authenticate('local', { session: false });
module.exports = function(app) {
const apiRoutes = express.Router();
const authRoutes = express.Router();
apiRoutes.use('/auth', authRoutes);
authRoutes.post('/login', requireLogin, Authentication.login);
authRoutes.post('/register', Authentication.register);
app.use('/api', apiRoutes);
};
答案 0 :(得分:1)
您尝试访问/api/register
,但请查看您注册路由器的方式:
apiRoutes.use('/auth', authRoutes);
authRoutes.post('/login', requireLogin, Authentication.login);
authRoutes.post('/register', Authentication.register);
app.use('/api', apiRoutes);
您已authRoutes
成为apiRoutes
的孩子,因此/register
正在api/auth/register
投放{。}}。
当你有几台路由器相互连接起来时,很容易犯错:)