我知道可以通过Github页面托管基于Jekyl的静态网站/博客。 基于AngularJS的静态网站/博客可以做同样的事吗?
答案 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)
答案 2 :(得分:12)
Jekyll和Angular之间有一个冲突需要注意。
包含在Jekyll中的Liquid也使用{{ }}
来评估表达式。要更改angular解释的表达式(因此它不与Liquid冲突),请使用:
var myapp;
myApp = angular.module('myApp', []);
myApp.config([
'$interpolateProvider', function($interpolateProvider) {
return $interpolateProvider.startSymbol('{(').endSymbol(')}');
}
]);
答案 3 :(得分:1)