LoginSignup
3
2

More than 3 years have passed since last update.

メモ:Laravelで複数のSPAを作成する

Last updated at Posted at 2019-10-06

やりかけたけど、結局使わなかったので、軽くメモ。
(用語の使い方とか、あってるか微妙。)

やりたいこと

Laravel で SPA のエントリーポイントを分割したい。

具体的には、一般の人がアクセスする SPA と、管理者がアクセスする SPA を分けたい。

方法

webpack.mix.js を編集

以下のように編集し、管理画面用のファイルが設置されるようにする。
これによって、ビルド時に mix-manifest.json に index が作成され、次手順のように Blade テンプレートから呼び出せるようになる。
以下の例では、管理者用画面として、adminApp.js と adminApp.scss を読み込むようにしている。

webpack.mix.js
  let mix = require('laravel-mix');

  mix.js('resources/assets/js/app.js', 'public/js')
     .sass('resources/assets/sass/app.scss', 'public/css')
+    .js('resources/assets/js/adminApp.js', 'public/js')
+    .sass('resources/assets/sass/adminApp.scss', 'public/css');

adminApp.jsとadminApp.scssを用意する

既存の app.js と app.scss をもとに作成する。

Blade テンプレートを作成

管理者用画面の Blade テンプレートに、以下を追記する。

adminApp.blade.php
<script src="{{ mix('js/adminApp.js') }}"></script>

参考

以下のURLを参考にしたが、この手順では、mix-manifest.json を複数作成することになり、読み込みの設定等が必要になった。
https://codeday.me/jp/qa/20190505/777151.html

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2