节点/快速锚链接路由

时间:2017-08-13 15:01:02

标签: html node.js express anchor

我正在建立一个网站,而对于前端,我正在使用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

有人能指出我正确的方向吗?

1 个答案:

答案 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