54

目前正在学习创建一个简单的 AngularJs 应用程序。

这是我的第一个 MVC 应用程序,所以我的问题可能非常基础。

  1. 我知道我们需要 nodejs 来运行 Angularjs 应用程序,那么托管服务提供商会在他们的服务器上安装 node.js 吗?

  2. 如果支持,托管服务提供商支持哪个:Angularjs、Emberjs 或 Knockoutjs?目前我的客户有hostgator和netfirms。

  3. 在阅读一些帖子时,我学到了一些与 Angular js 一起使用的术语,例如 Yo、Grunt、Bower,所以我只是想知道它是做什么用的?

  4. 谁能告诉你究竟是如何托管 AngularJs 应用程序的?

4

4 回答 4

44

如果您正在部署仅客户端的 Angular 应用程序(即您没有自定义服务器代码),那么您可能需要查看Firebase Hosting。它专为托管使用 Angular、Ember、React 等的客户端应用程序而设计。

Firebase 的托管将允许您从命令行进行部署,而无需管理自己的服务器(无 NodeJS),它会为您处理 SSL、CDN 和其他最佳实践。

(免责声明:我为 Firebase 工作)

于 2014-05-13T18:36:55.977 回答
42

AngularJS 不需要 node.js 即可工作,您甚至可以从 google CDN 使用它,而无需将脚本托管在您的服务器上。Node.js 主要用于测试,例如,如果您想使用 Karma 进行 e2e 测试。如果你有它是一个好点,但是你可以在没有 node.js 的简单服务器上托管一个应用程序,并在本地测试它,例如

实际上,互联网上的任何服务器(例如一个好的旧 apache)都可以托管一个 Angular 应用程序,因为所有工作都将在客户端完成

然而,问题 3 需要 Node.js。Yeoman(Yo 命令)、grunt 和 bower 是有时用于构建 Angular 应用程序的工作流的一部分。但是,这些也不是必需的。它允许您快速创建新应用程序的骨架,对其进行测试和部署。这在他们的网站上进行了解释,http: //yeoman.io/

这些工具需要 node.js 才能工作,但它们不是 Angular 应用程序工作的必要条件。如果您计划在未来构建许多 Angular 应用程序,将它们放在某个地方可能会很有用,但是即使没有任何这些工具,您也可以托管这些应用程序。

如何托管您的 Angular 应用程序?像任何其他 HTML 页面一样。您甚至可以复制此代码并将其保存到硬盘:

<html ng-app>
<head>
  <script src='https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js'></script>
</head>
<body>
  {{"hello"+" world"}}
</body>
</html>

然后打开它,它会工作!

于 2013-07-30T13:05:21.030 回答
20

NodeJS 不是 AngularJS 的要求。Angular 是一个客户端库。

Angular 的团队使用 NodeJS 来帮助你做一些事情,比如测试你的 javascript,或者下载文件并设置运行一个小型 Web 服务器所需的一切。

因此,“AngularJS 应用程序”真正需要的只是 2 个文件:angular.js 和一些 HTML 文件。

<html ng-app>
<head>
<script src="angular.js"></script>
</head>
<body ng-init="what = 'gas'">
   Now you're cooking with {{what}}!
</body>
</html>

除此之外,任何将托管静态文件的 Web 服务器在大多数情况下都可以。

于 2013-07-30T12:49:14.347 回答
3

我知道我们需要 nodejs 来运行 Angularjs 应用程序,那么托管服务提供商会在他们的服务器上安装 node.js 吗?

不,AngularJS 不需要运行 Node.js。只是您用来学习 AngularJS 的教程可能正在使用 Node.js 作为他们的示例。

AngularJS 是一种客户端技术,因此它不需要任何特定的服务器即可运行。由于您使用 ASP.Net MVC 作为开发平台,因此您需要一个 ASP.Net 托管来部署您的应用程序。

您可以在这里查看我最近的 ASP.Net MVC / AngularJS 开发:http: //bipolarapp.bitsstech.com ,该应用程序托管在 Windows Azure 上。

于 2014-05-13T18:48:50.200 回答