我如何将Node.js实现为Ionic / Angular应用程序?

我目前有一个基础“标签”离子/angular的应用程序。

ionic start testproject tabs

我已经提前完成了npm install来获取项目目录中的一些基本节点模块。

我对如何一起使用Angular和Express以及如何设置节点/服务器端的东西有点困惑。 我试着看了一大堆教程,发现自己在混音中有点迷路,所以我希望有人会有一些资源,可能会帮助我在正确的方向。

因为Angular和Express都做MVC / MV * – 它开始变得非常混乱,至于什么是什么。 我很困惑的设置和如何让他们一起交谈。

请让我知道我可以给予什么其他信息,因为我不知道还有什么。 (该项目是相当的骨头。)

非常感谢!

标准的Angular Web应用程序

在构buildMEAN Web应用程序时,您应该先使用Express-Generator创build一个Express应用程序,这些命令(假设您有节点和快速安装的全局)

$ express myapp

构build应用程序

$ cd myapp

进入应用程序

$ npm安装

package.json文件安装依赖项

文件结构

 . ├── app.js ├── bin │  └── www ├── models │  └── home.js ├── node_modules ├── package.json ├── public // your Angular app goes here ├── README.md ├── routes │  ├── home.js │  └── users.js └── views 

所以上面我们可以看到应用程序的基本结构。 运行Express生成器后应该有类似的东西。 你会把你的Angular应用程序,并把它放到公用文件夹,并运行服务器

$ DEBUG = myapp npm start

离子的

随着离子应用程序,你想要一个应用程序的手机,有人会,因为你不需要将应用程序添加到公用文件夹在这里。 Express将使用的是为应用程序创build一个API。 你可以用一个你可以运行的server.js文件创build一个简单的web api

$ node server.js

在您的Angular工厂和服务中,您可以直接向您的api进行$http调用。

更新

目前正在开发一个样板文件来分割平均应用程序的前端和后端,这意味着您将能够为您的Android应用程序,ios应用程序和您的Web应用程序提供完全相同的后端。

它是一个正在进行的工作,但随时检查出来的想法或开始你自己独立的前端和后端MEAN堆栈。 https://github.com/joeLloyd/MEANBoilerPlate

看起来你被MVC这个词及其含义所迷惑了。 MVC(模型,视图,控制器)只是应用程序结构的一般模式。

当用angular度编写Web应用程序时,实际上是在编写两个应用程序(大多数情况下):

你的前端应用程序,在你的浏览器中运行的应用程序,使用HTML,JS和CSS(以及angular度框架),向用户显示数据并允许它们与之交互。 后端应用程序,即在服务器上运行的应用程序(例如在节点或Spring或RubyOnRails上),存储数据,提供服务并计算业务逻辑。

这两个应用程序都可以独立使用MVC模式进行结构化。 然而,这并不影响他们如何一起工作 – 他们是完全独立的,并使用HTTP协议进行通信(在前端使用AJAX)。 因此,对于angular度前端应用程序,后端应用程序是否在节点上运行或其他任何内容都无关紧要。

只需要解释一下int hat的上下文:

Node是一个后台框架,运行服务器,执行业务逻辑并与数据库交谈。 Express是Node的一个模块,可以更容易在Node中编写HTTP API。

Ionic和Angular是前端框架。 它们允许您更轻松地创build前端应用程序。

我希望有一点帮助,它是一个相当大的话题,它不可能在一个合理大小的StackOverflow答案中解释所有的问题。