文档构造Api

文档构造Api,api,http,node.js,coffeescript,document,Api,Http,Node.js,Coffeescript,Document,我目前正在构建一个API服务,它接受HTTP请求中的输入,处理信息,使用模板引擎(当前为Jade)解析模板文件,然后以HTML、PDF或图像的形式输出 我希望此服务不绑定到数据库,因为我认为没有必要。服务只有一个目标,即接受输入并以所需格式输出结果 目前我无法决定如何存储和读取我的模板,这是一个没有数据库的新世界 我是否将它们存储在“模板”之类的文件夹中,每次需要模板列表时都会阅读这些文件夹?但是不知道文件锁是如何以及是否会导致问题的 有什么建议吗?看看Express.js,它将允许您设置一个具

我目前正在构建一个API服务,它接受HTTP请求中的输入,处理信息,使用模板引擎(当前为Jade)解析模板文件,然后以HTML、PDF或图像的形式输出

我希望此服务不绑定到数据库,因为我认为没有必要。服务只有一个目标,即接受输入并以所需格式输出结果

目前我无法决定如何存储和读取我的模板,这是一个没有数据库的新世界

我是否将它们存储在“模板”之类的文件夹中,每次需要模板列表时都会阅读这些文件夹?但是不知道文件锁是如何以及是否会导致问题的


有什么建议吗?

看看Express.js,它将允许您设置一个具有良好默认目录结构的项目。默认情况下,它将Jade模板存储在“视图”中。文件锁定不会有问题

我要做的另一件事是将API服务与视图呈现分离。目前,我将restify用于纯REST服务,它专门针对该用例。因此,工作流程大致如下所示


“视图”文件夹Jade templates Express JSON data REST API

是的,我当前的框架是Express.js,因此您建议我将模板逻辑视图放在Express的视图文件夹中?我已更新了答案。我也不知道你所说的“模板逻辑”是什么意思。模板应该尽可能地只用于呈现视图,不应该有业务逻辑。在我的例子中,模板就像插件一样。因此,每个模板都代表服务可以生成的不同布局。模板可以很好地用于您尝试执行的操作。只需从磁盘读取它们谢谢您的输入,只需使用硬编码方法,在.coffee文件中的数组中设置它们。