我有一个server.js文件,它运行我的服务器并显示html文件。在客户端javascript文件中,我想向一个单独的服务器端js文件发出ajax请求,该文件从API中提取数据。这可能吗?或者在节点环境中工作时是否有更好的解决方案。
答案 0 :(得分:1)
您可以在同一台服务器上运行多个node.js文件。使用node my_file.js
启动每个。
是的,有一个更好的选择来达到预期的效果,而不是启动多个服务器。我甚至不鼓励你启动第二台服务器,除非你故意让它成为完全独立的实体。
解决方案称为路由,例如,您希望使用Node.js提供两个功能:
http://my-app.com/
http://my-app.com/api/users
据我所知,你知道如何实现它们,现在你只需要一个路由器来统一它们。
有many routers available,有很好的示例和文档。
让我们考虑一下你选择了 Express ,然后跟随this guide你的主要(起点)JS文件会有简单的说明,告诉你JS文件服务于你网站的哪个部分:
app.get('/', mySite.index);
app.all('/api/*', myApi.index);
注意:这是不完整的代码,请参阅ExpressJS documentation或您决定使用的其他路由器。 ExpressJS是一个丰富的框架,如果你只需要路由器,你可能想找到更简单的东西。