概要 :
使用するAngularJSアプリケーションが$locationProvider.html5Mode(true)
あり、Apacheサーバーから提供されます。これまでは、ソース コードを他のコードからアクセスできるように使用しており、angularJS の HTML5 モード用に index.html へのリダイレクトが必要でした。だから私は自分のフォルダの.htaccess
ファイルにこれを持っていました。/app
.htaccess :
<IfModule mod_rewrite.c>
RewriteEngine on
# Don't rewrite files or directories
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# Rewrite everything else to index.html to allow html5 state links
RewriteRule ^ index.html [L]
</IfModule>
変更:
次に、アプリのフォルダーに生成されるソリューション全体を縮小するために Grunt を追加しました/dist
(したがって、縮小されたソリューションは /app/dist にあります)。ユーザーにリンクを変更させずに、アプリのトラフィック全体を縮小版にルーティングしたいと思います。したがって、実際には、すべての呼び出しを /app から /app/dist にリダイレクトしたいと考えています。
現在のディレクトリ構造:
app
dist
minified versions(css,html,js)
/app の .htaccess でここからいくつかの条件を使用しようとし、他の .htaccess ファイルを /app/dist に移動しましたが、成功しませんでした。この2つをこのように組み合わせることができるかどうかさえわかりません。代わりに dist フォルダーを /app として使用できることはわかっていますが、/app はリポジトリであり、更新を維持する方が簡単であるため、これはあまり必要ありません。では、リダイレクトでこれを達成するにはどうすればよいでしょうか?
また、2 つ目として、デバッグを改善するためにアルファ ユーザーが通常の (縮小されていない) バージョンを使用できるように、フラグを設定することはできますか?
アップデート:
このためのサンプル プロジェクトをここに追加しました。上に示した最初の .htaccess ファイルを保存しただけで、両方のバージョン (/test
と/test/dist
) が上記のように機能することを確認できます。また、おそらく未使用のコードと依存関係がいくつかありますが、プロジェクトから他の部分を切り取っただけです(判断しないでください:D)。
このために、AngularJS 1.4.8 で初期構成を使用しました。これは、こことここに記載されているようなエラーを生成する可能性があります。AngularJS のバージョンを 1.5.8 (Angular 1 の最後の安定版リリース) に自由に更新してください。ただし、 Cosmin Ababai の投稿へのコメントも考慮してください。また、プロジェクトは、grunt (および grunt のその他の拡張機能) のインストールに npm を使用し、angular およびその他の基本コンポーネントの場合は bower を使用し、縮小版のビルドには grunt を使用します (実際には、今のところ同じファイル内のリソースを連結しているだけです)。依存関係を変更する必要がある場合は、実行することを忘れないでくださいbower install
。dist フォルダーを再生成する場合は、実行することを忘れないでnpm install
くださいgrunt build
。