如何在域中托管angularjs应用程序

时间:2013-07-30 12:29:37

标签: angularjs

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

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

  1. 据我所知,我们要求nodejs运行Angularjs App,托管服务提供商是否会在其服务器上安装node.js?

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

  3. 在阅读一些帖子时,我学到了一些与Ang,Jrunt,Bower等Angular js一起使用的术语,所以我只是想知道它用于什么?

  4. 有人可以告诉您如何主持AngularJs应用程序吗?

4 个答案:

答案 0 :(得分:43)

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

Firebase的托管将允许您从命令行进行部署,而无需管理自己的服务器(无NodeJS),并且它可以为您处理SSL,CDN和其他最佳做法。

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

答案 1 :(得分:42)

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

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

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

上进行了解释

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

如何托管您的角度应用?像任何其他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>
然后打开它,它会工作!

答案 2 :(得分: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服务器都将在很大程度上发挥作用。

答案 3 :(得分:3)

  

我知道我们需要nodejs来运行Angularjs App,所以我会这样做   托管服务提供商是否已将node.js与其服务器一起安装?

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

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

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