[英]Why is my node express route not found?
我正在尝试在我的节点快速应用中将路由添加到“ / signup”。 到“ /”的GET工作正常,但是“ / signup”给出的404未找到。
index.js和signup.js都在根文件夹中。
signup.hbs和index.hbs都在我的views文件夹中。
index.js:
const express = require('express');
const engines = require('consolidate');
var signup = require('./signup');
const app = express();
app.engine('hbs', engines.handlebars);
app.set('views', './views');
app.set('view engine', 'hbs');
app.get('/', (req, res) => {
res.render('index');
});
app.use('/signup', signup);
signup.js
var express = require('express');
var router = express.Router();
router.get('/', function (req, res) {
res.render('signup', {text:"Send some text to template here"});
});
module.exports = router;
index.hbs中的链接(未找到404结果):
<a style="font-weight:bold; text-decoration:none;" href="/signup">Sign up</a>
默认情况下,node.js中的模块为单例,因此无需多次加载模块。 如果要将index.js视为将加载express.js的文件,请考虑导出已定义的express变量,并在signup.js中导入index.js。
index.js
const express = require('express');
const app = express();
...
module.exports{
app
}
signup.js
const index = require('./index');
...
const router = index.app.Router();
另外,似乎您对app.use
的使用还是有点过。 您仅在发送模块(signup.js)时,应提供路由器,快速应用程序或制作自己的中间件。 您可以在此处了解更多信息: https : //expressjs.com/en/4x/api.html#middleware-callback-function-examples
var express = require('express');
var router = express.Router();
router.post('/', function (req, res) {
res.render('signup', {OCR:"OCR TEXT"});
});
module.exports = router;
服务器找不到合适的方法调用,因此正在发送404页面。
如果要向服务器发送一些数据,则必须在路由上使用POST方法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.