LaravelプロジェクトでVueifyを使いたいです。私はVueify(* .vueファイル)を使って異なるVuejsコンポーネントを持っています。私の質問は、必要なファイルをどのように整理し、ブラウザに送られるJSコードを最適化するかについてです。laravel内でvueifyを構成する方法は?
基本的には、私のVueインスタンスを含むブレードテンプレートでこのようなコンポーネントを直接使用したいと思います。しかし、* .vueファイルをコンパイルする必要があるので、テンプレートで直接参照することはできません。そのことを、私のようなものをやって意味:私のブレードテンプレート内
import Timeline from "./components/Timeline.vue";
が機能していません。
こうして、コンポーネントを含むVueオブジェクトを格納するブレードテンプレートごとに専用のJSファイルを作成しました。これは正しいとは思わない。たとえば、私のgulpファイルは次のようになります。
mix.browserify('models.js', 'public/js/compiled-models.js');
mix.browserify('campaigns.js', 'public/js/compiled-campaigns.js');
mix.browserify('campaigns_edit.js', 'public/js/compiled-campaigns_edit.js');
mix.browserify('product.js', 'public/js/compiled-product.js');
...
私はあなたが私の言いたいことを願っています。すべてのコンポーネントを単一のapp.jsファイルにまとめることが怖かったので、私はそれを好きでした。私はここに行く方法が何であるかについての情報は見つけられませんでした。
基本的には、すべての* .jsファイルを取り除くことが大好きです。なぜなら、コンポーネントをコンパイルするための方法なのですから。または、少なくとも私は "ページ"ごとに1つのファイルを作成したくありません。
これを整理する方法は?
私はサーバーとクライアント間で交換される不要なデータを懸念していますが、セッション全体で大きなJSファイルをキャッシュするクライアントの信頼性があまりにも低いかもしれません。 – patriziotomato
そのファイルを確実にキャッシュする必要があります。レスポンスヘッダ(PHP/Laravel、Apache、Nginx)にキャッシュを設定する方法はいくつかあります。バージョン番号または一意の識別子をクエリ文字列またはファイル名の付録に入れて、バージョンが変更されたらブラウザが再度読み込むようにします。 (デベロッパーモードでは、ブラウザのdevツールを使ってキャッシュを無効にすることができます) – robbash
私の場合は、すべて「body」タグにバインドされた複数のVueインスタンスはどうなりますか?この状況で彼らは葛藤しないのですか? – patriziotomato