我正在建立一个网站,而对于前端,我正在使用HTML。对于后端,我使用node / Express。
在HTML中,我有一些重定向不同HTML页面的锚标记。为了创建不同的路由,我在Express中使用了Router。
现在的问题是,当我通过节点运行我的网站时,重定向无法按预期工作。
index.html:
<li><a href="index.html">Home</a></li>
<li><a href="publication.html">Publication</a></li>
<li><a href="team.htm">Team</a></li>
<li><a href="contact.html">Contact</a></li>
ExpressJS:
index.js:
var express = require('express');
var path = require('path');
//router object
var router = express.Router();
router.get('/', function (req, res) {
res.sendFile(path.join(__dirname, '..', '/public/html/index.html'));
});
module.exports = router;
publication.js:
var express = require('express');
var path = require('path');
//router object
var router = express.Router();
router.get('/publication', function(req, res){
res.sendFile(path.join(__dirname, '..', '/public/html/publication.html'));
});
module.exports = router;
当我通过节点运行网站并输入:
本地主机:3000 /出版物
然后我收到publication.html,当我输入
localhost:3000
它打开index.html,在我的索引页面中,我有上面的锚标签。 现在,如果我点击任何我的锚标签,那么我收到一条错误消息,如“无法获取publication.html”我想要的是重定向到我的publication.js并调用
router.get('/publication')
方法然后打开publication.html
有人能指出我正确的方向吗?
答案 0 :(得分:5)
此代码
Successfully connected to MQTT server on port 1886
会生成http://localhost:3000/index.html之类的链接。现在你后端不知道这条路线,因为你定义了像 <li><a href="index.html">Home</a></li>
<li><a href="publication.html">Publication</a></li>
<li><a href="team.htm">Team</a></li>
<li><a href="contact.html">Contact</a></li>
这样的路线,等等。您必须将其修改为以下内容
/publication
更多关于express routing