我目前正在开发一个简单的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当我直接打开前端部分(file://.../frontend/index.html)在浏览器中)时,我只使用我的NodeJS快速服务器提供后端API。
同时为NodeJS提供“后端API”和前端服务(例如,运行两个快速实例),以及如何组织代码,这是一个很好的实践吗?
发布于 2017-04-16 14:58:59
当我直接打开前端部分时(浏览器中的file://.../frontend/index.html))。
这是你只能在你自己的本地计算机上做的事情。对于其他人可以使用的常规web服务器,您不能这样做。因此,对于为互联网上的其他人设计的常规web服务器来说,这并不是一种可行的做法。
通过使用express.static()中间件的一行代码,您可以让现有的node.js服务器也可以服务于所有的静态node.js文件。您不需要单独的进程来服务HTML文件。在超大规模下,您可能会使用类似于NGINX代理的东西来服务静态HTML文件,但我认为您现在没有任何理由这样做。此时,只需让现有的node.js服务器使用express.static()为静态文件提供服务,并停止使用任何file://引用。
同时为NodeJS提供“后端API”和前端服务(例如,运行两个快速实例),以及如何组织代码,这是一个很好的实践吗?
不是的。您没有说明为什么需要两个node.js实例。只需使用一个实例为API和静态HTML文件提供服务。
https://stackoverflow.com/questions/43435685
复制相似问题