このレポジトリは、複数の Nuxt2 アプリ間で共有化されたコードを Monorepo を使ってパッケージ管理するための example なものです
npm v7 が動作する Node.js 環境 (npm の workspaces を利用してるため)
app1
app2
assets
app1 、app2 で使うために共有化された CSS 等の assets 一式app1 に参照されているcomponents
app1 、app2 で使うために共有化された Vue コンポーネントapp2 に参照されているcomposables
app1 、app2 で使うために共有化された Composition API で実装された合成 (composable) 可能な関数郡app1 に参照されているhelpers
app1 、app2 で使うために共有化されたヘルパー一式app1 に参照されているmodule1
app1 、app2 で使うために共有化された Nuxt モジュール。Nuxt プラグインが実装されているapp1 、app2 に参照されているcomposables では、 型を参照(解決)したいのため、そのパッケージでも参照している以下のコマンドでセットアップします。
# Monorepo なプロジェクトのセットアップ
npm install
# `module1` のビルド
npm run build -w module1
ちなみに、npm の -w オプションに workspaces にある対象パッケージを指定するオプションです
module1 パッケージmodule1 は TypeScript で実装されているので、このパッケージのコードを変更したら随時、ビルドが必要です
ですので、開発時は 以下のように watch モードで随時ビルドしておくとよいでしょう
npm run watch -w module1
app1 の場合は以下のようにして起動します
npm run dev -w app1
この example では、 app1、app2、そして module1 がビルド可能です
app2 の場合は以下のようにしてビルドします
npm run build -w app1
この example では、ESLint によるリントは、workspaces にあるパッケージ単位ではなく、root で行います
npm run lint
# もし、ESLint で `--fix` したい場合
npm run lint -- --fix
この example では、Prettier によるコードのフォーマットは、workspaces にあるパッケージ単位ではなく、root で行います
npm run format
vue-tsc を使うと、VUe コンポーネントの template を型チェックすることができます
この example では、app1、app2 そして components の Vue コンポーネントの型チェックが可能です
components を型チェックしたい場合は以下のようにして実行します
npm run typecheck -w components
We use cookies
We use cookies to analyze traffic and improve your experience. You can accept or reject analytics cookies.