【问题标题】:Can one host an angular.js based static blog on Github?可以在 Github 上托管基于 angular.js 的静态博客吗?
【发布时间】:2013-05-13 15:24:30
【问题描述】:

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

【问题讨论】:

    标签: angularjs github-pages


    【解决方案1】:

    可以,但不能使用 html5 模式(从 url 中删除 #)。如果您使用 html5 模式,则必须将所有请求重定向到根 url,因为它是一个单页应用程序。由于您不能在 GitHub 页面上使用服务器端代码,因此您不能这样做。所以,如果你不介意 url 中的 #,那就去吧。如果要使用html5模式,则需要在别处寻找托管。

    来自 Angular 文档...

    "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 :)
    • 如果你使用 Service Worker 会怎样?
    【解决方案2】:

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

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

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

    【讨论】:

    • 将 Charlie 的评论加入到您的答案中,以获得百万分!
    • 我用一般性的答案回答了一般性问题。也许如果 OP 想要细节,他们会提出更详细的问题。
    • 是的!你可以在 Github 上托管一个 AngularJS 应用程序。这很棒。您甚至可以拥有一个自定义域!
    【解决方案3】:

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

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

    var myapp;
    myApp = angular.module('myApp', []);
    
    myApp.config([
      '$interpolateProvider', function($interpolateProvider) {
        return $interpolateProvider.startSymbol('{(').endSymbol(')}');
      }
    ]);
    

    查看this blog post

    【讨论】:

    • 您可以turn off Jekyll 在您的页面存储库的根目录中创建一个名为 .nojekyll 的文件并将该文件推送到 GitHub。
    【解决方案4】:

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

    【讨论】:

      猜你喜欢
      • 2015-12-30
      • 1970-01-01
      • 2015-08-06
      • 2014-04-08
      • 2020-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多