Node + now.js + 模型-视图-控制-模式

2024-06-03

我正在使用基于 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(使用前将#替换为@)

Node + now.js + 模型-视图-控制-模式 的相关文章

随机推荐