mihatori/codeignitervite
先日、CodeIgniter 4.3.0
がリリースされたのですが、Vite
に対応しているのか、気になったので、調べてみました。
mihatori/codeignitervite
を見つけたのですが、私には、使いこなせませんでした。
.env
内のVITE_AUTO_INJECTING
は、true
とfalse
の両方で、試してみました。
ルートにあるvite.config.js
だと動きますが、modules
フォルダ内で使うことは、想定されていないような気がしました。
私が理解していないだけで、たぶん、やり方次第では、modules
フォルダ内でも使えるのかもしれません。
manifest.json
の位置が、FCPATH . 'manifest.json'
と書いてあって、public
フォルダ内に、必ずあることが前提になっています。
public
フォルダを指定してあると、消せないファイルがいくつか存在しているので、面倒です。
Laravel
の場合は、public/build
やpublic/build-<任意>
のようにしているはずです。
私の場合、モジュール内でnpm run build
すると、public/build/モジュール名
に生成されます。
view_cell
CodeIgniter 4
には、view_cell
があるので、試してみました。
App\Cells\Vite::script
- 指定した場所で生成された
manifect.json
を読みこむ file
欄の文字を取り出すHelper
のscript_tag
で、script
タグを生成する
この方法で良いのかどうか、今の時点では、わからないので、ソースコードは掲載しません。
Modules/Admin/Views/index.php
Laravel
フレームワーク内の@vite
ディレクティブぽい感じにしました。
下記の一行を<head>
タグ内に入れます。
<?= view_cell('Vite::script', ['Resources/js/main.js', 'build/admin']); ?>
Modules/Admin/vite.config.js
import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; export default defineConfig({ build: { outDir: '../../public/build/admin', emptyOutDir: true, manifest: true, rollupOptions: { input: './Resources/js/main.js', }, }, plugins: [ vue(), ], });
trianayulianto/vite-codeigniter-4
もう一つ見つけたのですが、どうやらCodeIgniter 4
で、Laravel Vite
を活用する方法なのかな?
試す気になれなかったので、試していないです。
感想
CodeIgniter
は、v2を使っていた時が、一番楽しかったです。
v3で、MITライセンスになったけど、離れていった人が多いように感じました。
サイズや実行速度も大切ですが、更新の頻度やエコシステムの構築なども大切なのでは?と思います。