【发布时间】:2013-05-02 07:45:21
【问题描述】:
我一直在使用 docpad 预生成前端 html/js 应用程序(使用 docpad generate --env static)。经过几次挂断和 balupton 的错误修复后,它现在运行良好,为我节省了大量时间。我只是将这些文件复制到现有的 apache 服务器进行部署。
我现在还创建了一个 node.js/express.js 后端应用程序,它使用一个简单的 api 向客户端提供数据。这段代码是独立于我上面讨论的 docpad/static 文件创建和运行的。
我现在想整合这两者。这通常在 docpad 世界中是如何完成的?我看到了几个选项:
1) 后端和前端代码是分开的。 Docpad 用于生成前端静态文件,然后使用单独的后端应用程序来提供静态文件和数据。仅将静态文件和 express 应用复制到服务器进行部署。
2) 后端源文件与前端文件一起生成并复制到服务器进行部署。我想这几乎与 #1 相同,只是 src/files 目录需要包含 express.js 应用程序文件,并允许我在后端源上运行预处理器。
3) 我的后端应用程序requires docpad(它生成out/ 目录并添加docpad 中间件)然后启动服务器(如下所示:https://github.com/bevry/docpad/issues/342)。这将简化测试,但需要将整个项目目录结构(src/、out/ 和所有)复制到服务器进行部署。
我不是在询问如何做到这一点的细节,而是想知道这方面的 docpad 哲学是什么。我错过了其他选择吗?
谢谢。
【问题讨论】:
-
你好 balupton。 #3 在链接的问题关闭。我可以将我的自定义路由添加到 docpad.coffee,但我认为这意味着我需要部署整个 docpad 树结构(与上面的 #3 相同)。我想最终我只想部署生成的静态内容和一两个 node.js 文件,以通过 ajax 查询开始提供静态文件和动态内容。
-
问题变成了我应该把生成javascript的服务器放在哪里(称之为
app.js)?在docpad.coffee旁边的项目文件夹根目录中还是在src/目录中?那么我如何让 docpad 在测试期间使用它而不是内置服务器。感谢您的帮助。
标签: docpad