javascript - node如何配置多个views目录?
ringa_lee
ringa_lee 2017-04-10 17:40:33
[JavaScript讨论组]

题目可能说的不清楚,先上个图:

红框中的配置只是将views作为动态渲染模板的目录,所以只能访问views文件夹下的页面,现在需要在views下面建立多个文件夹,比如:

现在不仅要访问plan_detail.htmlsale_net.html还要能访问project1project2中的页面。
比如访问plan_detail.html地址栏直接是localhost:3000/plan_detail
访问project1中的页面就是localhost:3000/project1/pageName
主文件(index.js)里应该怎么修改呢?

下面附上主文件代码:

var express = require('express');
var exphbs = require('express-handlebars');
var path = require('path');
var app = express();

app.engine('.html', exphbs({
    partialsDir:'views/include',
    extname: '.html'
}));

app.set('views','./views');
app.set('view engine', '.html');

app.use(express.static(path.join(__dirname,'public')));

app.all('*', function (req, res) {
    res.render(req.url.split('/')[1]);
});

app.listen(3000);
ringa_lee
ringa_lee

ringa_lee

全部回复(3)
ringa_lee

这个views里的是指模版,不是你理解的页面;

localhost:3000/project1/pageName 这么访问要建好服务端的映射,

app.get("/project1/pageName",function(req,res){

//

});

views里的模版是在 res.render('pageName',{xxx:xxx}); 作键用的;

高洛峰

模板文件只能访问views下面的目录,可以在下面检录多个目录,进行不同业务的分割,或者个公共文件的划分。

在模板文件中如果引用其他目录下的文件可以用include去引用

ringa_lee

在res.render里把路径写上就好

app.get('\pageName', function (req, res) {

    res.render('project1/pageName'); 
    
});
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号