放置静态文件的位置(index.html等)

时间:2019-12-20 21:54:41

标签: node.js angular nginx web

当您拥有SPA(角度)前端和仅处理API请求的API服务器(节点,Nestjs)时,静态文件位置的最佳做法是什么?我在大多数项目中都使用NGINX,所以我希望让NGINX处理静态文件(.js,.css,.jpg等)。

你愿意吗

  1. 客户端构建后,将文件移至API服务器文件夹,并让Node处理文件请求;
  2. 让NGINX重定向到专用的静态服务器(该服务器还处理上传/图像等);或
  3. 让NGINX路由到./client/dist文件夹并从那里进行服务。

我更愿意让NGINX重定向到具有所有“客户端”文件(index.html,.js,.css,图像等)的CDN服务器,因此API服务器执行API-> DB任务,仅此而已。

1 个答案:

答案 0 :(得分:0)

类似的文件将进入assets/文件夹。
如果您通过$ ng new创建了项目,则该项目应该位于src/文件夹中。
assets/文件夹中的所有内容也都放入dist/文件夹中。
参见https://angular.io/guide/file-structure

关于为他们服务; NGINX应该可以解决问题,无需将文件请求转发到Node.js。
在您的NGINX服务器配置中,您应该像这样try_files $uri $uri/ index.html;来提供应用程序。

如果您访问URL.com/assets/file.extension,它将查找文件;如果存在,它将提供文件;否则,将通过index.html为应用程序提供服务