我正在使用基于 MVC 模式(模板和 PHP 类)的论坛软件。
页面如下所示:domain.com/index.php?page=Test
我想使用 Node 和 now.js 在一个页面 (domain.com/index.php?page=Chat) 上设置聊天服务器。
现在我遇到一个问题:如何告诉服务器端代码聊天服务器必须在index.php?page=Chat工作
显然我不能做这样的事情:
fs.readFile('index.php?page=Chat')
有什么想法如何在这样的 URL 上设置节点服务器吗?
谢谢!
我会更深入地研究 Node.js。作为节点is它本身就是一个网络服务器,您必须了解一些有关路由和服务器配置如何工作的知识。基本上,任何进入端口 80 的内容都会被您的(可能的)Apache 服务监听。 Apache 会查看 URI,并决定在应用程序中运行哪个脚本来启动 php 进程,该进程运行您的代码并生成要发送给用户的网页。
所以当你看到:
domain.com/chat
vs
domain.com/index.php?page=Chat
Apache 说,“嘿,您将我配置为将 '/chat' 读取为 /index.php?page=Chat,所以我将关闭该脚本”。
Node.js 就像 Apache 和 PHP 合而为一。它处理请求并构建页面。因此,当请求到来时,node.js 和 Apache 就会互相踩踏。both在端口 80 上侦听的应用程序您必须使用类似以下内容的用户:
https://github.com/nodejitsu/node-http-proxy https://github.com/nodejitsu/node-http-proxy
该节点模块将未处理的服务器请求转发给 Apache,这将允许您拥有混合的 nodejs/apache+php 应用程序。
就模板而言,php 和 javascript 模板不能混合,因为它们是基于完全不同的语言构建的。所以,你几乎不走运了。 Node有非常丰富的模板引擎列表。其中一些可能与您正在使用的任何内容具有几乎相同的语法,因此移植起来很容易。
https://github.com/joyent/node/wiki/modules#wiki-templated https://github.com/joyent/node/wiki/modules#wiki-templating
我希望这回答了你的问题。正如所评论的,我仍然会使用 iFrame,将节点放在不同的端口上,并保持两个架构的干净和独立。或者,使用聊天服务,而不必费心设置整个单独的应用程序。除非你想学,那样的话,就发疯吧。 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)