node.js - NodeJs : Load different CSS depending on routes parameters

标签 node.js pug

我环顾四周,但我什至不确定我想要的是否可能。

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/

相关文章:

angularjs - 如果使用 Angular ,模板引擎有用吗?

node.js - Jade 模板引擎问候语登录用户

reactjs - 在react-fullstack中更改文件时出现Jade Run错误

javascript - Socket.io http ://localhost:3000/socket. io/socket.io.js 404(未找到) - 如何配置 socket.IO - nodejs、apache2、websockets

node.js - Azure移动服务,如何仅更新或忽略更新某些列

mysql - Node 和 MySQL 与数据库的连接

javascript - Jade : Loop Through Every 4 Elements, 改变等级

javascript - Firebase secret 身份验证返回空负载

javascript - 使用 Express Js 使用静态 html 页面引导数据

javascript - 如何在 Express 中使用 Underscore 模板代替 Jade?