Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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
Angularjs 在NodeJS中使用express运行后端和前端服务器是否是一种良好的做法?_Angularjs_Node.js_Express - Fatal编程技术网

Angularjs 在NodeJS中使用express运行后端和前端服务器是否是一种良好的做法?

Angularjs 在NodeJS中使用express运行后端和前端服务器是否是一种良好的做法?,angularjs,node.js,express,Angularjs,Node.js,Express,我目前正在开发一个简单的NodeJS/AngularJS应用程序,我当前的项目如下所示: /frontend/index.html <-- AngularJS home page /frontend/js/app.js <-- AngularJS app.js /backend/package.json<-- NodeJS package.json /backend/index.js <-- NodeJS script 当我直接打开前端部分时,我只使用我的Nod

我目前正在开发一个简单的NodeJS/AngularJS应用程序,我当前的项目如下所示:

/frontend/index.html <-- AngularJS home page
/frontend/js/app.js  <-- AngularJS app.js
/backend/package.json<-- NodeJS package.json
/backend/index.js    <-- NodeJS script
当我直接打开前端部分时,我只使用我的NodeJS express服务器提供后端APIfile://.../frontend/index.html 在我的浏览器中

使用NodeJS同时为后端API和前端提供服务(例如运行两个express实例)是否是一种良好的做法?我将如何组织代码

而我直接打开前端部分file://.../frontend/index.html 在我的浏览器中

这是您只能在自己的本地计算机上执行的操作。对于其他人可以使用的常规web服务器,您不能这样做。因此,对于为互联网上的其他人设计的常规web服务器来说,这并不是一种可行的做法

使用express.static中间件只需一行代码,就可以让现有的node.js服务器也为所有静态HTML文件提供服务。为HTML文件提供服务不需要单独的过程。在超大规模上,您可能会使用类似NGINX代理的东西来为静态HTML文件提供服务,但我不认为您现在有任何理由这样做。此时,只需让现有的node.js服务器使用express.static为静态文件提供服务,并停止使用任何文件引用

使用NodeJS同时为后端API和前端提供服务(例如运行两个express实例)是否是一种良好的做法?我将如何组织代码


没有。您没有说明需要两个node.js实例的原因。只需使用一个实例即可为API和静态HTML文件提供服务。

您不需要两个express实例。只需使用静态中间件来服务静态文件