2016-12-23 5 views
3

デフォルトでは、Angularは、index.htmlのルートフォルダとしてpub serveルート/ web/に展開します。 GitHub(gh-pagesブランチ上)は、それがルートプロジェクトフォルダ内にあるとみなします。Git PagesにAngularDart Webページを配置するにはどうすればよいですか?

これを見た人は誰でもGitHubページで完了しましたか?コードをDartからJSに変換し、GitHubフォルダ構造を使用するように強制されますか?

+0

GHページは*静的なサイトを提供するためのものです。アプリをコンパイルしてそこに提供する必要があります。 – jonrsharpe

答えて

0

が、服用:

cd path/to/my_angular_project 
peanut 

はgithubのにgh-pages枝をアップロードjonrsharpeのアドバイス(GitHubは静的なWebページ用です)、私はdart2jstransformer、私のpubspec.yamlにそれを投げる:

transformers: - $dart2js: minify: true

、その後パブビルドを走りました。それは私にフォルダのWebページのJSフォームを与えました。

私は既に私のpubspecに- dart_to_js_script_rewriterを持っていましたが、私はそれがパブのサービスを使って、その場で使用されていると思います。

非平滑性が、私は(GitHubのための)ルートプロジェクトフォルダにこれらの新しく建てられたファイルを移動し、index.htmlをで任意のファイル参照にプロジェクト名を追加しなければならなかったという事実から来ている:

  • /project/style.css
  • /project/main.dart。JS(もちろん、GH-ページ枝に)成功した​​GitHubのページを生成

サイドノート:
LocationとHashLocationStrategyはそこにありますが、正しくコンパイルする以外は何もしていないと思います。

peanut dart2jsは、gh-pagesを切り替えることなくファイルをビルドしてルートにコピーします。かなりいい。このプロセスでは、特定のファイルとフォルダ(READMEファイルなど)を削除するように見えますが、それはちょっとしたパブパッケージです。

1

あなたは、ルータを機能させるためにLocation and HashLocationStrategy stopped working in beta.16を参照してくださいHashLocationStrategy

を設定する必要があります。

root/web/は、ルートWebフォルダとして使用されるため、違いはありません。 GH-Pagesに追加してルートにない場合は、<base href="/someDir">を設定するか、const Provider(APP_BASE_HREF, useValue: '/someDir')を提供する必要があります。

+0

これらのライブラリにアクセスする最新の方法を私に導きます: https://stackoverflow.com/questions/39097037/how-to-use-hashlocationstrategy-for-router-in-angular2-beta-20- in-dart 私はまだGitHubに聞く方法を考え出しています。 – Lorax

2

使用peanut

ワンタイムインストール:

pub global activate peanut 

使用:これはスムーズではなかった、だから、

git push origin --set-upstream gh-pages 
+0

matanlureyもそれを指摘していましたが、GitHubでどのように動作するのか分かりませんでした。何が私はそこに行方不明ですか? – Lorax

+0

私はそれを試しました。 * pub build *を実行し、ファイルをrootにコピーします。カッコいい。何らかの理由で、githubプロジェクトフォルダを含むように参照を変更する必要があります。 gh-pagesブランチがちょっと遅れていたり、更新が遅かったり、少し遅れているようです。 – Lorax

関連する問題