NodeJS / ExpressJS中基于文件的路由

时间:2014-01-18 20:20:00

标签: javascript node.js express

有没有办法在NodeJS(或ExpressJS)中执行以下操作?

虽然我理解路由提供的灵活性,但我非常不喜欢它的配置方式。 (我不是Express的专家)

例如,应用程序结构如下所示:

app
-- public // has all the static files.
-- dynamic // Root level file for something that contains all the dynamic pages 
   -- index.nsf // NSF == node server file (Just making up a sample extension here).
                // NSF files have front matter and code like shown in section below
   -- posts // A directory
      -- view.nsf
      -- edit.nsf
   -- pages
      -- thankyou.nsf
      -- contactus.nsf

即当用户转到网址“http://mydomain.com/pages/contactus”时,将呈现该nsf文件中的内容。

我想到的NSF可能看起来如下 - 只有一些YAML前面的事情

---
controller: contactUsController // A javascript file
layout: contact // Jade layout or HTML layouts
---

或者将一些YAML前端内容和布局作为文件的内容。

---
controller: contactUsController
---
extends base
h1 This is the contact us page. Fill in the details below.

即使是一次性配置来设置如下的中间件也可以工作:

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

谢谢。

1 个答案:

答案 0 :(得分:0)

也许你正在寻找这样的东西:

https://npmjs.org/package/dynamic-routes