【问题标题】:Why does Angular require a server in their tutorials?为什么 Angular 在他们的教程中需要服务器?
【发布时间】:2015-10-15 23:05:06
【问题描述】:

查看quick startstep by step 教程,Angular 需要服务器。

为什么 Angular 需要服务器?

我想专注于 UI 并且始终拥有一个正常工作的服务器会减慢我的速度 - 特别是在一个大型项目中,服务器始终不稳定并且有大量未在本地配置的集成。

编辑 [2015/08/12]:似乎需要服务器。尝试运行step by step guide,在静态加载html(没有服务器)时不起作用。什么都没有显示。 myapp 标签并没有被控制器限制。

【问题讨论】:

  • 运行 Angular 不需要服务器 - 你可以从本地 js 文件中运行它
  • 否则,您如何将应用程序导入浏览器?
  • 那么你将如何在 angularjs 中使用routes
  • 如果您使用的是 webstorm,您只需右键单击主 html 文件并选择运行。这将设置 IDE 本地服务器。 Angular 2.0 示例:syntaxsuccess.com/angular-2-samples

标签: angular


【解决方案1】:

Angular 本身不需要服务器,它是一个静态 JS 库。

但是,一旦开始执行 AJAX 请求,您可能很快就会遇到问题(例如,在使用 templateUrl 编写指令时,使用 ngInclude 加载部分内容时等)。大多数浏览器不允许对本地文件的 AJAX 请求作为安全措施(尽管有时可以禁用此功能,请参阅 this post)。

最重要的是,Angular 建议使用静态服务器作为最佳实践,因为它可以确保教程中的所有功能都按照描述的方式工作。对于最基本的开发,我使用http-server,它很快就会启动。

【讨论】:

    【解决方案2】:

    出于安全考虑,浏览器不允许对文件系统进行直接请求。它在处理 Angular 中的路由和 ajax 请求时会出错。因此,您必须使用简单的 HTTP 服务器,或者您可以使用 nodejs 创建它。

    参考Using node.js as a simple web server

    在linux中安装apache2服务器:

    sudo apt-get install apache2
    

    之后,您只需将代码放入/var/www/yourDirectory。现在您可以通过http://localhost/yourDirectory访问您的代码

    【讨论】:

    • 浏览器处理本地文件没有问题。除了 CSS 和 JS 之外,它还加载本地 HTML。如果我不想使用路由或网络请求,为什么我需要一台服务器来学习 Angular?不应该是客户端框架吗?
    • 状态路由需要服务器。
    • 为什么你认为“路由状态需要服务器。”?
    猜你喜欢
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    • 2018-03-08
    • 1970-01-01
    • 2017-02-17
    • 2010-11-24
    • 2017-05-16
    • 1970-01-01
    相关资源
    最近更新 更多