Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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
Node.js 什么';使用Express或nginx提供静态文件是更好的方法吗?_Node.js_Express_Nginx_Static Files - Fatal编程技术网

Node.js 什么';使用Express或nginx提供静态文件是更好的方法吗?

Node.js 什么';使用Express或nginx提供静态文件是更好的方法吗?,node.js,express,nginx,static-files,Node.js,Express,Nginx,Static Files,我正在构建Node.js应用程序,并将nginx用作反向代理。我的应用程序有一些需要提供服务的静态文件和一个Socket.io服务器 我知道我可以直接使用Express(使用Express.static中间件)提供静态文件。此外,我还可以将nginx直接指向静态文件所在的目录,以便nginx提供服务 那么,问题是:哪种方法更好?使用每种方法时,我可以面对哪些优点和缺点?对于开发:express,主要是因为它提供了灵活性。。。在开发过程中,您可以非常轻松地更改静态位置和结构 对于生产:nginx,

我正在构建Node.js应用程序,并将nginx用作反向代理。我的应用程序有一些需要提供服务的静态文件和一个Socket.io服务器

我知道我可以直接使用Express(使用Express.static中间件)提供静态文件。此外,我还可以将nginx直接指向静态文件所在的目录,以便nginx提供服务


那么,问题是:哪种方法更好?使用每种方法时,我可以面对哪些优点和缺点?

对于开发:express,主要是因为它提供了灵活性。。。在开发过程中,您可以非常轻松地更改静态位置和结构

对于生产:nginx,因为它要快得多。Node/express适用于执行逻辑,但适用于服务原始内容。。。没有什么能打败nginx。您还可以获得额外的功能,如gzip、负载平衡

然而,这个问题已经在stackoverflow中被问了很多次:参见

。引自:

Nginx可以更好地处理静态文件,并且可以防止对非动态内容的请求阻塞我们的节点进程


有很多文章都在讨论这个问题,这些文章都非常详细,但我绝对会听从Express开发者的建议。

@Dextication不是重复的。Express.js和Node.js不一样。