【问题标题】:Is it an obligation to run a node server, in order to execute Angular based applications为了执行基于 Angular 的应用程序,是否有义务运行节点服务器
【发布时间】:2017-08-17 13:26:18
【问题描述】:

(比如说)我的项目在后端使用 Laravel 或只是 PHP,而我的前端使用 Angular 进行编码,我正在使用 CDN 中的 angular.js 文件。这应该完全没问题。

当许多教程和书籍提到需要节点服务器并且我们启动服务器并开始侦听某个端口时,我感到困惑。这样跑angular的过程就完全不一样了。

数据绑定或 JSON 格式的模型可以通过多种方式完成。它可以从php后端交换,也可以通过运行在节点服务器上的JS来完成。

事实上,我也可以在没有任何服务器的情况下运行示例 Angular 静态应用程序。例如,我将 JSON 数据放入某个变量中,然后创建一个 $scope。当然,数据会丢失(无法保存数据),但它应该运行。对!

如果有人能澄清我的误解,我将不胜感激。

【问题讨论】:

  • 您可以使用任何后端工具与您的 Angular 应用程序进行通信,即 Laravel 很好

标签: javascript php angularjs json node.js


【解决方案1】:

Angular 是前端框架,这意味着您需要任何类型的后端/服务器来提供主页并加载所有脚本模板和资产。

它可以是 nodeJS,或者运行一些 PHP 框架的 Apache/nginx 服务器,或者你甚至不需要使用框架,或者 PHP,尽管你可能需要创建某种 JSON/REST API 来让 Angular 应用程序与您的数据库进行通信,但如果您只想与第三方服务进行通信并在前端对它们进行一些操作,那么您在后端不需要任何编程语言。您可以从任何服务器提供 index.html 并加载所有 javascript 文件和资产

【讨论】:

  • 确实您可以在任何类型的后端/服务器中运行基于 AngularJS 的应用程序来提供主页,但 这不是甚至是强制性的。由于 AngularJS 是一个客户端框架,只要您不需要任何后端处理,您就可以对静态内容(html、css 等)进行任何您喜欢的操作,而无需运行服务器。
【解决方案2】:

您可以在客户端和服务器端使用 angular,在客户端您只需使用脚本标签引用 cdn(或本地文件)(对于 angular 1,angular 2 需要更多的努力),您也可以例如在电子应用程序中使用带有节点 js(服务器代码)的框架,在这种情况下,您必须使用包管理器(例如 npm)安装模块。
注意实现与前端相关。

【讨论】:

    【解决方案3】:

    ,您可以使用任何后端。 我认为大多数关于 AngularJS 应用程序的教程在后端运行 NodeJS 的主要原因是因为 AngularJS 和 NodeJS 都是基于 javascript 的框架,所以观看它的人会很容易理解,因为前端和后端代码看起来相同 (没有新语法)。

    事实上,这就是我喜欢 MEAN 堆栈的原因,因为您可以在整个应用程序事件中使用 javascript 到数据库级别!!!

    M - MongoDB(数据库)

    E - ExpressJS(NodeJS 库,用于处理不同的路由和 HTTP 请求并构建 API)

    A - AngularJS(基于Javascript的前端框架)

    N - NodeJS(Javascript 运行时,可以在浏览器之外执行,因此它可以在服务器上执行您的 JS 代码)。

    【讨论】:

      【解决方案4】:

      Angular 1 和 Angular 2 之间有一个主要区别。v2 中发生了很多变化,例如,之前的指令 ng-model 现在是 [(ngModel)],ng-repeat 现在是 *ngFor 等等。组件和模板选择器在同一个类中,而 Angular 更多地处理行为。有很多依赖项,特别是 System.js 和 typescript。

      【讨论】:

      • 我认为通过这种设置,它现在有很多依赖项,我们不能直接使用 angular,即,只需从 CDN 或本地文件夹附加 angular 脚本。
      猜你喜欢
      • 2019-10-04
      • 2019-11-03
      • 2013-12-11
      • 2017-06-24
      • 1970-01-01
      • 2020-08-04
      • 1970-01-01
      • 2020-02-23
      • 1970-01-01
      相关资源
      最近更新 更多