Express Handlebars自定义路径

时间:2016-11-25 18:27:39

标签: javascript css node.js express handlebars.js

我的问题是我如何在快递中使用自定义文件夹

我的情况就是这样,我希望有一个逻辑,如果我在我的数据库中有一个特定的名称,我希望我的css和js路径在它们被渲染之前改变

默认我的快递路径是

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

但如果用户"斯巴达"被称为public下的主要css路径应该改为/spartan/css/file.xyz

在我从车把模板剪下来的时候,我试过了

{{#each site.cssFiles}}
    <link rel="stylesheet" href="{{site.name}}/css/{{this}}.css" />
{{/each}}

在这个例子中,结果是

<link rel="stylesheet" href="/css/main.css">

但为什么呢?我如何才能实现目标逻辑实现?

1 个答案:

答案 0 :(得分:0)

您需要退出当前车把挡的范围,如下所示:

{{#each site.cssFiles}}
    <link rel="stylesheet" href="{{../site.name}}/css/{{this}}.css" />
{{/each}}

通过这样做,把手将使用您的site.name方法呈现res.render中提供的任何一个。