Dwa*_*ton 4 mysql wordpress json node.js
我曾想过使用Wordpress作为CMS后端,因为很多人都知道它并且很容易使用,然后使用Node.JS作为前端.你现在可能在想,为什么我想首先做到这一点,有什么好处?
我想使用websockets和Node.JS的精彩Socket.io库提供了漂亮的跨浏览器websockets支持.基本上我希望用户来到一个站点,创建一个websocket,然后将内容作为JSON异步地提供给前端,然后在前端解码所有内容都不需要刷新页面.
实际上,我正在使Wordpress成为一个实时CMS.您访问某个站点,但是您单击的每个链接都将该页面作为JSON提取并通过websocket返回以保存多个请求,当然还有页面大小.
我如何让Node.JS与MySQL数据库对话,提取信息然后显示它?任何教程,资源和其他有用的提示将不胜感激.我的一些同事也想知道同样的事情,所以我认为答案对每个人都有很大的帮助.
确切地说,您不能将Node.js用于前端解决方案,因为它在服务器上运行,而不是在浏览器上运行(将其视为任何其他服务器端语言,如PHP,JSP等).
但是,您可以使用jQuery或任何其他Javascript库创建所描述的解决方案,您只需使用Socket.IO实现数据传输.在服务器端你需要一些东西来处理websockets,所以最本地的方式是使用Node.js,但由于你想使用Wordpress,它变得非常复杂,因为Wordpress并不打算用于你描述的方式,所以我担心你必须在Node中从头开始编写你的CMS.
此外,你描述的方式有一个巨大的缺陷.搜索引擎抓取工具仍然无法解析和运行Javascript,因此如果您的所有内容都是动态加载的,那么对Google和其他人来说似乎都是空的,因此无法在搜索结果中使其显示您的网站几乎无用.
对于MySQL和Node的其他模块,您应该检查NPM注册表和Node模块页面.
编辑 在Dwayne在评论中解释他的解决方案后,我就是这样做的:
document使用.on()绑定,并将选择器设置为"a",以便网页上的每个锚点都会触发处理程序.a.href属性并确定它是否是外部链接,不应由Javascript处理,或者它是指向下一页,文章等的链接.您可以通过调用e.preventDefault()处理程序来阻止默认操作,这会阻止浏览器重定向到该位置..getJSON()基于文章调用URL来获取JSON中的内容.最简单的方法是使某个模式(例如所有网址如www.domain.com/api)重定向到Node服务.htaccess,以防止跨域问题.正如您所看到的,在这种情况下我不会使用WebSockets,因为您不会从中受益.它们主要用于两种方式的小型实时更新(没有巨大的HTTP标头来减少带宽).这意味着服务器也可以将数据推送到浏览器中,而浏览器不需要它.在博客上下文中,这不是必需的,并且您不会有太多请求,因此带宽的差异无论如何都不会引人注意.但是,如果你想将它用于教育目的,基本上用SocketIO替换getJSON部分,我不确定Apache是否支持代理WebSockets.有关SocketIO基础知识的更多信息,请点击此处.
| 归档时间: |
|
| 查看次数: |
7789 次 |
| 最近记录: |