怎么利用Node.js进行html页面跳转
问题描述
最近在使用Node.js和html学习页面的相关知识,在学习到页面跳转时,出现了跳转不成功的问题,在这里记录下,供以后参考。
在Node.js中,主要使用express框架,前端则使用html。
项目代码结构
该小Demo主要涉及四个文件,包括:
main.js:该部分为起始文件,是整个项目的入口文件;
main.html:该部分是主页面的html文件;
new.html:要跳转页面的html文件;
router.js:路由文件,用来根据URL及参数给出具体的操作;
node_modules:存放相关模块的文件夹。
注:main.html和new.html两个在views文件夹下。
相关模块配置
使用npm分别install以下三个模块:
- express
- art-template
- express-art-template
构建main.js
代码
部分如下:
const express = require('express') const app = express() const router = require('./router') app.engine('html',require('express-art-template')) app.use(router) app.listen(3000,() => { console.log('successful...') })
实现了对3000端口的监听。
构建router.js
在该文件中,主要创建路由实例,对URL及相关参数实现监听,并渲染相关界面。
代码
部分如下:
const express = require('express') //创建路由实例 const router = express.Router() router.get('/',(req,res) => { res.render('main.html') }) module.exports = router //暴露接口
构建main.html
在该文件下,只实现了一个超链接,用来实现实现页面的跳转,代码
部分如下:
<div> <a href="/new" >页面跳转</a> <!--跳转至新页--> </div>
构建new.html
本文件十分简单,只是用一行输出语句来表示跳转成功,代码
部分如下:
<div> <th>成功实现跳转</th> </div>
运行结果
在小黑屏中输入命令
:
node main.js
代码成功运行,打开http://localhost:3000
:
可以看到出现了跳转页面的超链接,点击这个超链接:
页面并没有实现有效的跳转。
问题分析与解决
如果纯粹使用html语言,是可以直接实现超链接的跳转的,在使用router后,应该实现对相关URL的监听才可以实现跳转的目标。
于是,在router.js中补充如下的代码
:
router.get('/new',function(req,res){ res.render('new.html') })
即当URL为localhost:3000/new
时,使用res.render跳转。
由于html的超链接与render渲染的链接保持一致,因此可以实现使用超链接的跳转。
跳转的效果如下:
至此问题解决啦!
更多node相关知识,请访问:nodejs 教程!!
以上就是怎么利用Node.js进行html页面跳转的详细内容,更多请关注其它相关文章!
下一篇: 一文知晓JSX原理(推荐)
推荐阅读
-
PHP利用REFERER根居访问来地址进行页面跳转
-
PHP利用REFERER根居访问来地址进行页面跳转_PHP
-
定义了一个类,在类中写了很多的方法对html代码进行拼接,怎么在页面中输出呢?
-
PHP利用REFERER根居访问来地址进行页面跳转_php技巧
-
PHP利用REFERER根居访问来地址进行页面跳转_PHP
-
aspx页面会跳转,PHP怎么file_get_content()进行追踪采集
-
PHP利用REFERER根居访问来地址进行页面跳转_php技巧
-
aspx页面会跳转,PHP怎么file_get_content()进行追踪采集
-
a标签点击跳转页面后怎么给当前点击的a标签用jquery添加一个样式_html/css_WEB-ITnose
-
怎么从一个页面跳转到另一个frameset布局的页面_html/css_WEB-ITnose