app.js
app.engine('.hbs', expressHbs({
defaultLayout: 'layout',
extname: '.hbs',
layoutsDir:'views/layouts',
partialsDir:'views/partials'
}));
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', '.hbs');
app.use(express.static(path.join(__dirname, 'public')));
它在此路线中正常工作[admin.js]
router.get('/', function(req, res, next){
res.render('admin/admin', {title: 'Admin'});
});
});
//will render http://localhost:3000/admin
然而,当我在[admin.js]
中添加新路线时router.get('/insert-scene', function(req, res, next){
res.render('admin/insert-scene', {title: 'Insert Scene'});
});
//will render http://localhost:3000/admin/insert-scene
示例:
<link href="./stylesheets/site.css" rel="stylesheet">
http://localhost:3000/public/stylesheets/site.css[work][/admin]
http://localhost:3000/admin/stylesheets/site.css[wrong path][/admin/insert-scene]
公共文件夹在此路由中不起作用,因此hbs视图只在我的ref源中呈现/ admin / ....如何解决这个问题?
答案 0 :(得分:-1)
不要使用节点提供静态文件,而节点可以处理它,这不是该技术的预期用例。
使用特定的Web服务器,例如nginx或CDN。