我环顾四周,但我什至不确定我想要的是否可能。
app.js
...
var routes = require('./routes/index');
...
app.use('/', routes);
...
index.js
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', {
title: 'Test',
headersheet: 'header',
mainsheet: 'devTest',
navbar: 'nav_bar',
mainscript: 'devTest',
});
});
然后,我的layout.jade
doctype html
html
head
title= title
link(rel='stylesheet', href='/stylesheets/global.css')
link(rel='stylesheet', href='/stylesheets/#{headersheet}.css')
link(rel='stylesheet', href='/stylesheets/#{mainsheet}.css')
link(rel='stylesheet', href='/stylesheets/#{navbar}.css')
body
block content
script(src='http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js')
script(src='javascripts/#{mainscript}.js')
索引.jade
extends layout
block content
include nav_bar.jade
#page_header_fr
基本上我想要的是 #{mainsheet}.css
变成 devTest.css
但是,当页面加载时,我在控制台中看到一条消息,告诉我无法找到资源 undefined.css
。现在,我从中了解到的是参数(标题表、主页、导航栏……)没有正确传输。但是,页面标题显示得很好。
有可能做到这一点吗?
最佳答案
试试这个(将“”添加到您的主页、导航栏和主脚本中):
索引.js
router.get('/', function(req, res, next) {
res.render('index', {
title: 'Test',
headersheet: 'header',
"mainsheet": 'devTest',
"navbar": 'nav_bar',
"mainscript": 'devTest',
});
});
这应该有效。
关于node.js - NodeJs : Load different CSS depending on routes parameters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35675593/