怎么利用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渲染的链接保持一致,因此可以实现使用超链接的跳转。
跳转的效果如下:
@H_668_126@
至此问题解决啦!
更多node相关知识,请访问:nodejs 教程!!
以上就是怎么利用Node.js进行html页面跳转的详细内容,更多请关注其它相关文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎么利用Node.js进行html页面跳转
本文地址: https://pptw.com/jishu/593467.html