您好,登录后才能下订单哦!
Express 实现配置HTML页面访问?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
1.配置模板引擎
Express默认的模板引擎是pug(jade),想要渲染html页面必须要导入对应的模板引擎ejs
npm install ejs
安装完成在app.js文件中完成模板引擎的引入
var ejs = require('ejs'); // 配置Express 视图引擎 app.engine('html', ejs.__express); app.set('view engine', 'html');
2.配置页面路由
如果页面不是放在public目录下,那么就必须要通过配置路由来进行访问。
假设我的文件目录如下
|-views(在根目录下) |--mplat |---pages |----console.html |---index.html
在app.js中配置全局变量
// 配置 mplat 渲染页面 app.set('mplat',path.join(__dirname,'views/mplat'))
这样子在别处使用的mplat等同于path.join(__dirname,'views/mplat')
在routers目录下新建mplat.js,把两个html文件加入映射
var express = require('express'); var router = express.Router(); /* GET mplat page. */ router.get('/', function(req, res, next) { res.render('mplat/index.html', { title: 'DisCloudDisk' }); }); router.get('/console',function (req,res,next) { res.render('mplat/pages/console.html', { title: 'Console' }); }) module.exports = router;
在app.js中引入文件路由
app.use('/mplat',require('./routes/mplat'));
这样子配置完成后,只需要访问 http://$host/mplat即可返回index.html
3.修改静态文件引入
在app.js中定义静态文件目录
app.use(express.static(path.join(__dirname, 'public')));
在页面引入css和js文件只需要默认在前面加上public即可,写法如下
<script src="/lib/layui/layui.js"></script>
实际目录为public/lib/layui/layui.js
4.页面路由
html页面的跳转也有变化,需要在路由中注册对应的界面,比如我在index访问console,路径和在路由中注册的保持一致。
<iframe src="/mplat/console" frameborder="0" scrolling="yes" width="100%" height="100%"></iframe>
章希望大家以后多多支持亿速云!
看完上述内容,你们掌握Express 实现配置HTML页面访问的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。