- Laravel
flatpickrをLaravel9 + Vite環境で使ってみた
flatpickrというカレンダーのライブラリをLaravel9とViteの環境で使用しました。
使用するまでの準備や設定などを残しておきます。
公式サイトはこちら
インストール
npm i flatpickr --save
ターミナルで上記のコマンドを使用すればインストールできます。
インストール後、package.jsonのdependenciesの部分にflatpickrが追加されていればOKです。
"dependencies": {
"flatpickr": "^4.6.13"
}
設定
bladeファイルにカレンダーを表示させたいinput要素を設定します。
<input type="text" id="startDate">
Laravelプロジェクトのresources/js 配下にflatpickr.jsというファイルを作成します。
(ファイル名は任意のもので大丈夫です)
import flatpickr from "flatpickr";
flatpickr("#startDate", { // #startDateはinput要素のid
dateFormat: "Y-m-d", // オブジェクト形式でオプションを選べます
});
※オプションの詳細はこちらを参考に色々試してみてください。
Laravelプロジェクトのルートディレクトリにある「vite.config.js」にflatpickrを追加します。
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
export default defineConfig({
plugins: [
laravel({
input: [
'resources/css/app.css',
'resources/js/app.js',
'resources/js/flatpickr.js', // ここが追加部分
],
refresh: true,
}),
],
});
CSSも読み込みます。
resources/css/app.css に下記を追加します。
@import 'flatpickr/dist/flatpickr.css';
最後にheadで読み込ませればOKです。
(例)views/layouts/app.blade.php
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta name=”robots” content=”noindex” />
<title>{{ config('app.name', 'Laravel') }}</title>
<link rel="stylesheet" href="{{ asset('css/style.css') }}">
<!-- Scripts -->
@vite(['resources/css/app.css', 'resources/js/app.js', 'resources/js/flatpickr.js'])
↑ここの1行を追加して読み込ませる
</head>
以上で使用ができるようになったと思います。
CSSを読み込ませる必要があることに気づかず、設定に時間がかかってしまいましたが、わかれば簡単でした。
オプションを使用すると色々なことができるようなので、今度試してみようかなと思います。
では〜。