Pug条件包含文件路径的所有子目录

时间:2016-11-20 22:27:01

标签: javascript node.js express pug

我必须过度复杂的简单问题......

我想为包含/edit-post的任何网址添加脚本文件。问题是,我的编辑器URL将始终以这样的帖子标题为后缀:/edit-post/some-post-title,因此我的Pug条件永远不会评估为真。

换句话说,我正在寻找一个条件语句,在以下两个示例条件中都是如此:

/edit-post/some-post-title
/edit-post/an-even-better-post-title

我已经可以访问路径url变量,并且我的条件在完全匹配时工作正常,所以我试图将其扩展到后缀子目录。这就是我的开始:

if path === '/edit-post'
    //my script file

是否有可能在Pug中包含正则表达式或可能包含某种“包含”语句的方法?

我在想"/edit-post.*""edit-post[s/S]"之类的东西。也绝望并尝试使用.indexOf()所有你比我聪明的人都知道在Pug模板中不起作用!

也许有更好的方法来实现这一目标?搜索了几个小时。尝试了一百个组合。帕格的文档很少。 Plz发送帮助! :)

旁注:我确实找到了这个整洁的小Pug / Jade条件文档我一直在用作测试人员。可能有用。 http://learnjade.com/tour/conditionals/

提前致谢!

1 个答案:

答案 0 :(得分:1)

其实我推荐你:

1)重新考虑你的路由

2)为管理面板布局创建/layouts/admin

3)创建/admin/posts/edit视图以进行编辑

edit example



但是对于你的问题,这是一个简单的例子:

router.get('/post/:slug/edit', (req, res) => {
  Post  
    .findOne({slug: req.params.slug})
    .exec((err, post) => {
      res.render('post', {includeEdit: true, post});
    });
});
  • Post是mongoose模型

并在您的视图文件中:

if includeEdit === true
  include partials/edit