可以在Github上托管一个基于angular.js的静态博客吗?

时间:2013-05-18 16:08:29

标签: angularjs github-pages

我知道可以通过Github页面托管基于Jekyl的静态网站/博客。 基于AngularJS的静态网站/博客可以做同样的事吗?

4 个答案:

答案 0 :(得分:92)

您可以但不能使用html5模式(从网址中删除#)。如果您使用html5模式,则必须将所有请求重定向到根网址,因为它是单页应用程序。由于您无法在GitHub页面上使用服务器端代码,因此无法执行此操作。所以,如果你不介意网址中的#,那就去吧。如果你想使用html5模式,你需要在其他地方寻找托管。

来自Angular docs ......

"Using [html5] mode requires URL rewriting on server side, basically you have to 
 rewrite all your links to entry point of your application (e.g. index.html)"

修改 如果你真的想要,你可以利用一些聪明的黑客来完成这项工作。黑客详细列出了here。总之,您将index.html重命名为404.html,github将在所有路径上提供它

答案 1 :(得分:38)

我会说是的,考虑到所有角度的UI github页面实际上是带有演示的角度应用程序:

http://angular-ui.github.io/

http://angular-ui.github.io/bootstrap/

答案 2 :(得分:12)

Jekyll和Angular之间有一个冲突需要注意。

包含在Jekyll中的Liquid也使用{{ }}来评估表达式。要更改angular解释的表达式(因此它不与Liquid冲突),请使用:

var myapp;
myApp = angular.module('myApp', []);

myApp.config([
  '$interpolateProvider', function($interpolateProvider) {
    return $interpolateProvider.startSymbol('{(').endSymbol(')}');
  }
]);

查看this blog post

答案 3 :(得分:1)

是的,你可以。我最近玩过AngularJS / Typescript和github页面,并且能够部署该站点 由于AngularJS只是javascript,你实际上可以使用任何体面的网络服务器,例如github页面。 这是demo 您可以找到源代码here。此存储库包含打字稿源代码,您必须编译这些源代码才能获取相应的javascript文件。然后你基本上把这个包含这个文件放到你的index.html中就完成了。