Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 直接从该node.js应用静态提供的html访问node.js应用程序功能_Javascript_Html_Node.js_Express - Fatal编程技术网

Javascript 直接从该node.js应用静态提供的html访问node.js应用程序功能

Javascript 直接从该node.js应用静态提供的html访问node.js应用程序功能,javascript,html,node.js,express,Javascript,Html,Node.js,Express,好吧,我可能要求太多了,或者表现出我的天真,但请容忍我 目前我有一个html(带js)托管在A,node.js应用托管在B。html/js通过XMLHttpRequest从node应用获取数据,B的node应用尽职尽责地生成请求的数据并发送给A 我试图总体上减少http请求的数量,总体上优化性能,并想知道是否有可能通过node app(通过express.static())在一个时间点上托管html/js,以便当html/js从节点服务器请求数据时,实际上是从同一服务器请求数据,事实上,它们都在

好吧,我可能要求太多了,或者表现出我的天真,但请容忍我

目前我有一个html(带js)托管在A,node.js应用托管在B。html/js通过
XMLHttpRequest
从node应用获取数据,B的node应用尽职尽责地生成请求的数据并发送给A

我试图总体上减少http请求的数量,总体上优化性能,并想知道是否有可能通过node app(通过
express.static()
)在一个时间点上托管html/js,以便当html/js从节点服务器请求数据时,实际上是从同一服务器请求数据,事实上,它们都在同一个应用程序中(因为节点应用程序正在生成数据,而节点应用程序也将html/js暴露给静态路由)

那么,html中的js是否有更直接地访问节点应用程序功能的方法,即不向同一节点应用程序发送http请求,而是直接访问节点应用程序中的数据生成功能,或者至少不使用http请求


我在我的节点应用程序中设置了一些东西,这样可以通过
express.static()
,成功地托管html/js——因此它在某种程度上工作正常——但我只需要知道是否有可能避免http请求绕过一个大循环,返回到同一个节点应用程序

简单的答案是,如果A和B相距很远,是的,将它们托管在同一台服务器上会有所帮助

从同一个应用程序为它们提供服务不会有帮助,因为您仍然需要通过HTTP进行对话

是否可以删除从A到B的HTTP调用的问题取决于应用程序设计。你有一个静态的web应用程序和一个API,你基本上在考虑将其删除,并使其成为一个应用程序

两者都有优点和缺点,但如果我开始列出它们,我将走个人观点的道路


我的投票,不用麻烦了:)

当您通过express.static()提供html和js文件时,它们不是在服务器上运行,而是在服务器和浏览器之间运行。所以js脚本是从浏览器运行的。浏览器脚本要与服务器通信,必须使用http/https请求或套接字。您可以将浏览器脚本从服务器A与服务器B进行通信(但不包括签出CORS)