gpt4 book ai didi

docpad - 集成express.js应用程序和docpad

转载 作者:行者123 更新时间:2023-12-02 09:52:59 24 4
gpt4 key购买 nike

我一直在使用 docpad 预生成前端 html/js 应用程序(使用 docpadgenerate --env static)。经过几次挂断和 balupton 的错误修复后,它现在工作得很好,并节省了我很多时间。我只需将这些文件复制到现有的 apache 服务器即可进行部署。

我现在还创建了一个 node.js/express.js 后端应用程序,它使用简单的 api 将数据提供给客户端。该代码的创建和运行独立于我上面讨论的生成的 docpad/static 文件。

我现在想整合这两者。在文档板世界中,这通常是如何完成的?我看到几个选项:

1) 后端和前端代码保持分离。 Docpad 用于生成前端静态文件,然后使用单独的后端应用程序来提供静态文件和数据。仅将静态文件和express app复制到服务器进行部署。

2) 后端源文件与前端文件一起生成并复制到服务器进行部署。我想这几乎与 #1 相同,只是 src/files 目录需要包含express.js 应用程序文件,并且允许我在后端源代码上运行预处理器。

3)我的后端应用程序需要 docpad(它生成out/目录并添加docpad中间件)然后启动服务器(如下所示:https://github.com/bevry/docpad/issues/342) 。这将简化测试,但需要将整个项目目录结构(src/out/ 等)复制到服务器以进行部署。

我不是在询问如何做到这一点的具体细节,而是想知道这方面的 docpad 哲学是什么。我还错过了另一个选择吗?

谢谢。

最佳答案

The question becomes where do I put the server generating javascript (call it app.js)? In the project folder root next to docpad.coffee or in the src/ directory? Then how do I get docpad to use this instead of the built-in server during testing. Thanks for your help

为此,您需要创建 app.js,其中包含类似于 API docs 的内容。属于:

var docpadInstanceConfiguration = {
env: 'static'
};
require('docpad').createInstance(docpadInstanceConfiguration, function(err,docpadInstance){
if (err) return console.log(err.stack);
var generateOpts = {};
docpadInstance.action('generate', generateOpts, function(err,result){
if (err) return console.log(err.stack);
// ...
});
});

然后,您将更新您的 Procfile (对于 heroku)和 package.json 主条目(对于其他所有内容)以指向 app.js 而不是默认的 ./node_modules/.bin/docpad-server

如果您想定义 DocPad 应使用的自己的 Express 服务器,您还可以通过 docpadInstanceConfigurationserverHttpserverExpress 传递给 docpad 。 More info here.

关于docpad - 集成express.js应用程序和docpad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16332833/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com