当前位置: 首页 > 面试题库 >

在AngularJS 1.2中启用HTML 5模式

蒲功
2023-03-14
问题内容

我正在开发一个需要使用HTML 5模式的应用程序。由于我要迁移现有站点以使用AngularJS
1.2,因此我的URL中不能包含“#”标记。目前,我有以下内容:

angular.module('myApp', ['ngRoute']).
  config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
  $locationProvider.html5Mode(true);

  $routeProvider
    .when("/home", {templateUrl:'home.html', controller:'homeController'})
    // other routes are defined here..
    .otherwise({redirectTo: '/home'});
  }]);

不幸的是,当我访问“ http://myServer/home”时,启用html
5模式后,我的应用程序无法正常工作。我得到404。但是,当我访问http://myServer/它时,它可以工作。当我启用html5模式时,它就像深层链接不起作用。如果我注释掉“
$
locationProvider.html5mode(true);”这一行,则该站点将运行。但是,再次,由于我要迁移现有站点,因此我的URL中没有哈希标签。

我是否误解了html5mode(true)的工作方式?还是我做错了什么?

谢谢


问题答案:

如果您正在使用html5mode,则需要在服务器端进行更改,以index.html在任何URL请求上返回入口点(主应用程序页面)。然后,角度应用程序将解析URL并加载所需的页面。



 类似资料:
  • 我们已经将一个Java项目升级到JDK 10。运行构建脚本时,Javadoc会输出一个警告: 为了构建项目,我们使用gradle。我们如何在gradle中指定超文本标记语言5()? 到目前为止,我们构建的javadoc部分。gradle文件相当简单:

  • 本节介绍与HTML5 Framework相关的各种模拟测试。 您可以在本地计算机上下载这些示例模拟测试,并在方便时离线解决。 每个模拟测试都提供一个模拟测试密钥,让您自己验证最终得分和评分。 HTML5 Mock Test I 问题1 - 关于HTML 5,以下哪项是正确的? A - HTML5是取代HTML 4.01,XHTML 1.0和XHTML 1.1的HTML标准的下一个主要修订版。 B

  • 我用Spring Boot启动我的Web应用程序。它使用一个简单的主类来启动嵌入式tomcat服务器: 我想配置服务器的方式,他可以处理angularjs HTML5模式,将激活与 其他用户的相关帖子显示,您需要重定向到根目录。html5模式从url中删除hashbag。如果你刷新页面,服务器找不到页面,因为他没有处理散列。请参阅:AngularJS-为什么更改url地址时$routeProvid

  • 我正在Node中试验ECMAScript模块。js 12,但我正在与之斗争。在正式文档之后,只需添加值为“module”的顶级字段“type”,就足以继续使用扩展名。js版本,但我找不到为什么不按预期工作。我错过什么了吗?

  • 本文向大家介绍可以使用HTML5在相关面试题,主要包含被问及可以使用HTML5在时的应答技巧和注意事项,需要的朋友参考一下 不 ,根据W3C 的HTML5规范文,它不是有效的HTML5: 内容模型: 透明,但必须没有交互式内容后代。 只要其中没有交互内容(例如按钮或其他链接),该元素就可以包裹在整个段落,列表,表格等,甚至整个节中。 换句话说,您可以将除以下内容之外的任何元素嵌套: (如果存在 c

  • 问题内容: 我知道这个问题有答案,但它们并没有为我充分发挥作用。我正在使用Angular 1.4和Express4。Express正在处理API调用,而Angular应该正在处理所有HTML。 我的快递app.js: 这是有角度的app.js 现在,如果我转到http:// localhost:3000 / ,则会得到预期的主Angular视图。问题是当我转到http:// localhost:3