Node.js如何为WordPress博客提供服务。

10

我正在使用node.js在我的rackspace服务器上为我的各种应用提供服务(使用node-http-proxy)。

然而,我想开始一个wordpress博客。唯一的服务博客的方法是通过apache(或nginx)。

有没有一种方法可以从node.js应用程序本身服务我的wordpress博客?


2
WordPress有静态模式,对吧?你可以使用WordPress将静态文件发布到磁盘上,并使用Node来提供这些文件。 - juandopazo
1
你是在谈论这个插件吗:http://wordpress.org/extend/plugins/static-html-output-plugin/? :) - tUrG0n
此页面有旧的答案;我已经添加了一个回答(https://dev59.com/kmgt5IYBdhLWcg3wywdJ#58597865),链接到Automattic更近期的“官方”解决方案; 一个名为wpcom.js的Github存储库(https://github.com/Automattic/wpcom.js),调用WordPress REST API。对于推广自己的答案,我表示歉意;但是在我看来,这比过时的现有答案更好。 - ToolmakerSteve
6个回答

5

要执行PHP代码,需要一些服务器。Node是JavaScript。

不管是使用Apache、Nginx/PHP-FPM还是单独使用PHP-FPM,你需要某种东西来实际运行WordPress代码,然后使用与现在相同的代理系统。


2
你可以尝试使用 express-php-fpm 包。
它结合了 Express(Node.js 服务器)和 FastCGI 网关来处理 php 请求。

谢谢,那个起作用了。我做了一些更改,以便更好地与WordPress配合使用:https://github.com/steffanhalv/servewp - Steffan

2
一种选择是继续像平常一样使用WordPress,但不再编写模板输出HTML,而是将其输出为JSON。通过这个小技巧,您突然间创建了自己的API来输出WordPress内容。与暴露WordPress完整方法集的模块相比,这将创建您非常具体的输出,根据您的需求进行定制。
要消耗您的JSON输出,您需要设置一个小的Node.js服务器,直接转发每个调用到您的WordPress解决方案,获取响应(JSON),并使用任何JavaScript模板引擎将其与您的HTML合并。您还可以获得速度优势,因为您可以在节点端轻松缓存JSON结果,并且具有控制权。
如果您想阅读更多信息,我已经写了一篇关于此的博客文章,并创建了一个Node.js Express中间件,以帮助设置节点端。 http://www.1001.io/improve-wordpress-with-nodejs/

我喜欢这个想法。虽然你也可以只输出帖子本身的HTML,然后将该HTML注入到你的模板中。 - Nateowami

1

哇,好久没见了。我猜 node-wordpress 已经完成了工作。如果你想使用 Node,我建议你尝试一下 Ghost。 如果你使用 node-wordpress,请告诉我,这样我就可以选择它作为答案 :) - tUrG0n

0

最近我需要在一个Electron应用程序中获取一个服务器来提供PHP服务。 我开始使用Sindre Sorhus的grunt-php。我所做的主要更改是删除了在grunt完成时终止服务器进程的代码,而是从JS实例化PHP类并根据需要调用该进程。 最终,很容易将grunt-php适应为在node.js服务器上启用PHP。


0

WordPress 现在有一种“官方”的(确切地说是:开源的,在 Automattic 的 Github 仓库下)方法来做到这一点:wpcom.js。从该 GitHub 页面中可以看到:

适用于 WordPress.com REST API 的官方 JavaScript 库。与 Node.js 和 Web 浏览器兼容。

本质上是从 JS 中调用 WordPress REST API


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接