AngularJS和GitHub Pages - 加载模板问题

时间:2014-04-28 00:20:43

标签: angularjs github-pages angular-routing

我正在尝试在my Angular app的GitHub页面上设置http://moroshko.github.io/seekdeck

Angular路线在application.js

中定义
<html ng-app="SeekDeck">
  <head>
    ...
    <script src="scripts/application.js"></script>
    ...
  </head>
  <body>
    <div ng-view></div>
  </body>
</html>
正如预期的那样,

application.js/seekdeck/scripts加载。

我的应用路线如下:

// Part of application.js
$routeProvider
  .when("/", {
    templateUrl: "templates/dashboard/dashboard.html",
    ...
  })
  ...

当Angular尝试获取dashboard.html模板时,它会尝试从/templates/dashboard而不是/seekdeck/templates/dashboard加载它,因此无法找到它。

任何想法为什么会发生这种情况,或者我该如何解决这个问题?

1 个答案:

答案 0 :(得分:5)

这种情况正在发生,因为angular希望url相对于域的根目录而不是应用程序的位置。换句话说,它期望它相对于moroshko.github.io而不是moroshko.github.io/seekdeck

您可以通过向html页面添加base元素并将其href属性设置为您希望应用根目录的路径(在您的情况下{{1 }})

将以下标记放在html页面的/seekdeck/中:

<head>

另请确保在<base href="/seekdeck/" /> 中设置html5mode(true)

有一篇关于它的优秀博文HERE