kintoneのカスタマイズにViteを使ってみよう
はじめに
kintoneのJavaScriptカスタマイズ開発においては、モジュール化によるファイル数の増加やさまざまなライブラリの使用に伴い、それらをバンドルするツールとしてwebpackが主に使用されてきました。
昨今では、高速かつ効率的なJavaScriptのバンドルツールの
Vite
が人気を博しているようです。
今回は、kintoneのカスタム開発にViteを導入してみたいと思います。
Vite をバンドルツールとして使うメリット
モジュール化されたJSコードをバンドルするツールとしては、
webpack
、
Rollup
、
Parcel
などがよく使われています。
しかしながら、コードの複雑化によってビルドするモジュールが大量になると、速度が落ちどうしても開発のパフォーマンスに影響が出てしまいます。
この記事で紹介するVite
*1
では、開発用のサーバーの起動速度が高速化されています。
これは、コードの依存関係を事前にバンドルすることによって実現されています。
さらに、ブラウザーへのソースコードの提供をオンデマンドで行っており、現画面で必要なコードのみが処理されるしくみになっています。
また、コードを編集した際は、アプリケーションのサイズにかかわらず、ブラウザーへ即座に反映されることを可能としています。
kintone カスタマイズに Vite を利用してみる
JavaScriptのビルドツール(バンドラー)は、次の記事で紹介したように、JavaScriptをブラウザーで動かすために必要なライブラリをバンドルしたり、プログラミング言語を変換したりできるツールです。
中でも、昨今はViteが注目されていて、VueやReactといったメジャーなフレームワークでもViteを使って開発できるようになっています。
Viteの設定はシンプルなことが特徴で、webpackと同じように複数ファイルのバンドルなどをしたい時に利用できますのでkintoneカスタマイズで導入してみたいと思います。
チュートリアル
今回はkintoneのアプリストアから物品購入申請アプリを利用してカスタマイズを行います。
自動採番および文字数制限の機能を共通処理として別ファイルに保存してメインのファイルとバンドルするサンプルを作成します。
kintone アプリの作成
kintoneアプリストアから「調達・購買」の業務カテゴリーを選択します。
すると「物品購入申請」アプリがリスト表示されますので「このアプリを追加」をクリックしてアプリを追加します。
kintone アプリの設定
アプリの設定のフォームタブより以下のフィールドを追加・変更します。
| フィールド名 | フィールドタイプ | フィールドコード | 備考 |
|---|---|---|---|
| 申請番号 | 文字列(1行) | purchase_request_no | フィールドを追加 |
| 日付 | 日付 | date | フィールドを追加 |
| 購入の目的 | 文字列(複数行) | purpose | フィールドコードを変更 |
| 備考 | 文字列(複数行) | note | フィールドコードを変更 |
カスタムプロジェクトの作成
以下のコマンドでJSのカスタムプロジェクトを作成します。
|
|
カスタムコードの作成
上記で作成した物品購入アプリにおいて、次のカスタマイズファイルを作成します。
- レコード追加時に「申請番号」を自動採番するカスタマイズファイル
- 「購入の目的」、「備考」欄の入力文字を制限するカスタマイズファイル
srcディレクトリを以下のコマンドで作成します。
|
|
以下のコードを参考に「vite-kintone.js」を作成し、srcディレクトリ内に保存します。
|
|
また、以下のコードを参考に「common.js」を作成し、srcディレクトリ内に保存します。
|
|
Vite のインストール
以下のコマンドでViteをインストールします。
|
|
Vite によるビルド
次にプロジェクトのルートディレクトリに「vite.config.js」ファイルを作成し以下の内容を参照して保存します。
|
|
また「package.json」を以下のように書き換えます。
|
|
以下のコマンドを実行して、カスタマイズファイルをビルドします。
|
|
実行後「dist」フォルダーの下に「bundle.js」というファイルが生成されます。
このファイルを上記で作成した「物品購入申請」アプリに適用します。
カスタムファイルの自動アップロード
次のコマンドで
kintone-customize-uploader
をインストールします。
|
|
次のコマンドを実行するとkintone-customize-uploaderの設定ファイル「customize-manifest.json」が生成されます。
アプリIDは、今回作成した「物品購入申請」アプリのアプリIDを入力してください。
|
|
「customize-manifest.json」ファイルを次のようにViteでビルドした「dist/bundle.js」をアップロードするように編集します。
|
|
次に「package.json」に以下のようにアップロードコマンドを追加します。
|
|
以下のコマンドを実行してアップロードを実行します。
|
|
アプリの設定でファイルがアップロードされていることを確認します。
動作確認
レコードを追加して動作を確認します。
「購入の目的」欄と「備考」欄で文字数制限を超過すると保存時に文字数制限のエラーメッセージが表示されます。
また、保存成功後には申請番号が自動生成されます。
まとめ
今回は昨今人気のあるバンドルツールのViteをkintoneのカスタムマイズに導入してみました。
Viteを使用することで従来のwebpack等に比べ複雑なプログラムを高速ビルドできます。
また、ViteではVueやReactなどメジャーなフレームワークのプロジェクトの自動生成機能がサポートされています。
kintoneのカスタマイズでは複数のファイルやライブラリーをバンドルする際に利用できるのでぜひ試してみてください。
このTipsは、2024年4月版kintoneとVite v5.2.10で動作を確認しています。
