1

私の問題のタイトルを思いつくのは簡単ではなかったので、質問のタイトルを明確にしようとします。

質問は、Webpack と githubpages の構成に関連しています。

背景: github ( https://github.com/SomePeaceStudio/manatelpa )で angular2 を使用してテスト プロジェクトを作成しました。私は webpack でプロジェクトをビルドし、それを本番用に醜くする方法をテストしていました。

問題: ローカルでプロジェクトをビルドして提供すると、localhost:8080/ から提供され、すべてのコンテンツが localhost:8080/ から正しく読み込まれます。例:

GET localhost:8080/index.html
GET localhost:8080/app.js
GET localhost:8080/angular.png

などなど、魔法のように機能します。

「dist」フォルダーを gh-pages ブランチhttps://github.com/SomePeaceStudio/manatelpa/tree/gh-pages (プロジェクトに gh-pages を使用しています) にプッシュすると、ページへのパスは次のようになります。 https://somepeacestudio.github.io/manatelpa/ この場合、index.html を読み込みます

GET https://somepeacestudio.github.io/manatelpa/

しかし、それは私のプロジェクトの残りを取得しようとします

GET https://somepeacestudio.github.io/app.bb10406340c613a712e4.css [HTTP/1.1 404 Not Found 46ms]
GET https://somepeacestudio.github.io/polyfills.bb10406340c613a712e4.js [HTTP/1.1 404 Not Found 44ms]
GET https://somepeacestudio.github.io/vendor.bb10406340c613a712e4.js [HTTP/1.1 404 Not Found 32ms]
GET https://somepeacestudio.github.io/app.bb10406340c613a712e4.js [HTTP/1.1 404 Not Found 67ms]
GET https://somepeacestudio.github.io/vendor.bb10406340c613a712e4.js [HTTP/1.1 404 Not Found 43ms]
GET https://somepeacestudio.github.io/app.bb10406340c613a712e4.js

からではなく:

https://somepeacestudio.github.io/manatelpa/.....

それが見つからないのも不思議ではなく、どうすればよいかわかりません。すべての webpack ビルド構成は config/ フォルダー (common + prod) にあります。私はそれを修正する必要があります。

この問題に対処する方法がわかりません..グーグルで検索するために正しくタイトルを付ける方法さえわかりません..

index.html ページにコンテンツをロードする方法を変更する必要があります (自動的に行われます)。エレガントな解決策があれば探します。

私は、webpack と ghpages 構成のプロではありません。

4

2 に答える 2

0

解決策は簡単で、webpack 出力オブジェクトの「publicPath」を変更する必要がありました。

    publicPath: '/manatelpa/'

ここで編集しました: https://github.com/SomePeaceStudio/manatelpa/blob/a60070da7a0507bc2b6e3ce15b9bfd71df756649/config/webpack.prod.js#L14

そして今、私のすべてのファイルは /manatelpa/... から提供されています

すごい!

また、Rishat の提案に感謝します。

于 2016-09-20T06:51:51.237 に答える