2017-12-10 10 views
0

vue webpackテンプレートを使用してプロジェクトを展開するのは難しいです。私たちはサーバにnginxのLaravelアプリケーションを提供しています。したがって、www.example.comを開くと、私たちのラーベルインストールが行われます。今度はwww.example.com/liteを使用して、vue-webpackテンプレートのSPAビルドであるアプリのライト版を提供したかったのです。そして、そのために私たちのnginxの構成vue cliプロジェクトで静的アセットを取得する

location /lite { 
       # First attempt to serve request as file, then 
       # as directory, then fall back to displaying a 404. 
       #try_files $uri $uri/ =404; 
       index index.html index.htm; 
       alias /var/www/html/crm-lite/dist; 
       try_files $uri $uri/ /index.html; 
     } 

内の位置ブロックを作成したと私はbuild/index.jsassetsPublicPath: '/lite'assetsPublicPathを変更しました。しかし、私がブラウズ上でそれを開くと、静的資産に対して404が見つかりません。 URLはこのようになりますhttp://example.com/lite/static/js/app.3c11ea8ceff19f8f33ff.js

dist/フォルダの内容をドキュメントルートにコピーして、それをIPアドレスだけで開くとうまくいきます。私は行方不明の設定はありますか?手伝ってくれてありがとう。

+0

:(PS、あなたがtry_filesまたはインデックスディレクティブを必要としない)

これを試してみてください。代わりに、 'location ^〜/ lite {...}'を使ってみてください。 –

答えて

0

エイリアスは、ページを移動するための非常に信頼できる方法ではありません。静的なリクエストを親の外の別のフォルダにリダイレクトするユニークな機能を提供します。これは素晴らしいことです。

私はあなたの設定をちょっと試してから、何が起こっているのか分かりませんでした。あなたは、ディレクトリパスの後ろに/を見つけられませんでした。私はあなたが.js` `で終わるURIの競合` location`ブロックを持っていることを推測してい

location /lite { 
    alias /var/www/html/crm-lite/dist/; 
} 
関連する問題