##質問
Laravel5.x系でJavaScriptの標準フレームワークであるVue.jsを利用しているのですが
バンドル後のJSファイルが(app.js)肥大化して重いです。SEO的にかなりペナルティーを受けているのですが
以下の設計レベルで詳しい方、参考までに速度改善案の意見がほしいです!
##現状
LaravelのVue.jsを利用しており、スマホtopの単一ローカルコンポーネントでページ丸ごとVue.jsのコンポーネント化を行っています。
##課題
SEOで得点が最低、app.jsの肥大化3万行近く。
バンドルJSに複数の利用ライブラリが存在(vuex,dayjs等々)。
##既にやったこと
・Dynamic Import
・Lazyloadで画像の遅延読み込み
・laravelmix のwebpack.mix.jsでextract指定でライブラリ分割
##やりたかったこと
・まるまる1ページをVue.jsのコンポーネント化を行う
・AtomicDesignのOrganismsとMoleculeレベルで.vueファイル作成
・ヘッダーやフッター、検索ボックスをカスタムタグで呼び出したい。Ex. <header></header>, <searchbox></searchbox>..
・Vue-routerやvue-cliの利用はしない、nuxt.jsも利用無し
・cssやhtmlのdom、そしてjsの記述までもすべて.vueファイルの中に含んでエラーが起きたら、その中だけみればいいようにしたい。(脱スパゲッティーコード)
Javascript
1import HeaderComponent from "{ディレクトリ省略}/HeaderComponent.vue"; 2import FooterComponent from "{ディレクトリ省略}/FooterComponent.vue"; 3import GlobalNaviComponent from "{ディレクトリ省略}/GlobalNaviComponent.vue"; 4import SearchBoxComponent from "{ディレクトリ省略}/SearchBoxComponent.vue"; 5 6 7require("./bootstrap"); 8 9var app = new Vue({ 10 el: "#app", 11 components: { 12 "header-componet" : HeaderComponent, 13 "footer-component" : FooterComponent, 14 "globalnavi-component" : GlobalNaviComponent, 15 "searchbox-component" : SearchBoxComponent, 16 } 17});
質問にご不明点があれば、追加で回答したいと思います。
初心者で全然わからないので、企業レベルでどうしたらいいか詳しいひと、実務で使ったことある人に質問できればと思います!
そもそもLaravelのサンプルにあるファイルの拡張でVue.jsを動かすのはありなのかという悩みです
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。