2017-03-24 30 views
0

我有基本的问题,在“平均”的方法框架和平台角2Express.js是如何一起工作以及客户端和服务器端之间的界限在哪里。我知道,通过调用网站的基本URL(SPA),Angular2应用程序将作为包完全发送到客户端(浏览器),在这里(角度逻辑)将动态地按照定义在客户端浏览器中通过javascript更改视图。均值 - MongoDB中,Express.js,Angular2,node.js中(后端设置和边界)

我还创建了一些带有一些组件,路由和服务的angular2 SPA。

现在我对后端有一般疑问。

我想用express.js框架在node.js的基础上创建一个后端。

-我该如何在express.js后端应用程序中设置整个Angular2(前端)应用程序,因为基于MVC的express.js呢?

-angular(MVVC)和express.js(MVC)的模型和视图以及它们在一起播放的位置之间的边界是什么?

如果有人能为我的参考资料,教程或相关内容命名为这个特定的主题,那将会很棒。

在此先感谢。

回答

0

参照MEAN堆栈,Express.js不用作MVC,但Angular是。 Express.js作为中间件/框架来帮助快速构建您的API,而不仅仅是在Node.js中编写(Express.js是Node.js的框架)。

什么你在这里说:

调用网站(SPA)的Angular2的应用程序将完全作为包被发送到客户端(浏览器),其中(角逻辑)的基本URL会动态变化javascript在客户端浏览器中的定义如下定义

完全正确,Angular 2将充当MVC,在浏览器中,客户端将动态更改视图。 Express.js将帮助您定义“基本URL”,即localhost:8000 /以及您所描述的“包裹”是发送给客户端的。这个“包”是你的整个Angular应用程序。

我最喜欢的教程之一是来自Scotch.io,虽然它是Angular 1.x,但它仍然有助于构建任何MEAN堆栈应用程序。

https://scotch.io/tutorials/creating-a-single-page-todo-app-with-node-and-angular

线

app.use(express.static(__dirname + '/public')); 

告诉应用程序在哪里可以找到所有的JS/CSS/HTML文件,或在你的情况,你的角度应用。 (确保您的Angular应用程序位于您上面列出的与Express/Node相关的目录中。js应用程序)

希望这有助于!

+0

非常感谢您的帮助!现在这种方法更清晰了,我会研究你的命名教程。这意味着我可以使用node_modules和package.json的其他依赖关系在express.js(public)的已定义文件夹中安装我的整个angular2应用程序,并参考angulars index.html? express.js的所有其他节点模块和依赖项我安装在服务器端应用程序的父文件夹(主要作为API的角度与db连接,也可能用于其他web服务调用),它们的文件夹结构比表达时要小得多。 js充当MVC。 – Sash84

+0

有几种方法可以管理依赖项,我为我的角度应用程序执行操作的一种方式是通过CDN并将它们引用到我的index.html中,另一种方法是使用Bower程序包管理器。您可以将Angular和Express用于node_modules,但并不是所有的NPM软件包都可以轻松地在您的index.html中引用。 NPM包对Node.js和Express.js更友好。你会想开始将Express.js看作MVC,但更多的是将(M)odel引入到你的Angular应用程序中。 – devonJS