ライブラリ
Qwik は、コンポーネントライブラリを作成するために、Vite のライブラリモード を使用します。
Qwik のコンポーネントライブラリを作成するには、特定のルールに従う必要があります。これは、Qwik オプティマイザーがライブラリを Qwik ライブラリとして認識する必要があるためです。
新しいコンポーネントライブラリを作成する最も簡単な方法は、組み込みの library スターターを使用することです。
pnpm create qwik library my-libraryこれにより、次の構造を持つ my-library という新しいフォルダが作成されます。
├── README.md
├── package.json
├── src
│   ├── components
│   │   ├── counter
│   │   │   └── counter.tsx
│   │   └── logo
│   │       └── logo.tsx
│   ├── entry.dev.tsx
│   ├── entry.ssr.tsx
│   ├── index.ts
│   └── root.tsx
├── tsconfig.json
└── vite.config.tsライブラリの最も重要なファイルは、適切に構成された package.json と vite.config.ts です。
package.json
{
  "name": "my-qwik-library-name",
  "version": "0.0.1",
  "description": "Create a reusable Qwik component library",
  "main": "./lib/index.qwik.mjs",
  "qwik": "./lib/index.qwik.mjs",
  "types": "./lib-types/index.d.ts",
  "exports": {
    ".": {
      "import": "./lib/index.qwik.mjs",
      "require": "./lib/index.qwik.cjs",
      "types": "./lib-types/index.d.ts"
    }
  },
  "files": [
    "lib",
    "lib-types"
  ],
  "type": "module",
}qwik フィールドに注目してください。これは Qwik オプティマイザーのエントリポイントです。このファイルを使用して、index.qwik.mjs ファイルが生成されます。
ファイル名は
.qwik.mjs拡張子でなければなりません。そうでないと、Qwik オプティマイザーは認識しません。
vite.config.ts
import { defineConfig } from 'vite';
import { qwikVite } from '@builder.io/qwik/optimizer';
 
export default defineConfig(() => {
  return {
    build: {
      target: 'es2020',
      lib: {
        entry: './src/index.ts',
        formats: ['es', 'cjs'],
        fileName: (format) => `index.qwik.${format === 'es' ? 'mjs' : 'cjs'}`,
      },
    },
    plugins: [qwikVite()],
  };
});通常の Vite 構成と比較して、ライブラリはVite の lib モード を使用します。これには、build.lib を適切に構成する必要があります。
src/index.ts
これはライブラリのエントリポイントです。公開したいすべてのコンポーネントと関数をエクスポートします。
// As an example, we will export the Logo and Counter components
export { Logo } from './components/logo/logo';
export { Counter } from './components/counter/counter';ライブラリはアプリでもある
ライブラリスターターは、スタンドアロンの Qwik アプリでもあります(ルーティングや Qwik City はありません)。そのため、entry.dev.tsx、entry.ssr.tsx、root.tsx ファイルが見つかる理由です。
これらは最終的なライブラリの一部ではありませんが、開発とテスト中に役立ちます。実際の Qwik アプリでコンポーネントをテストできます。
ビルドと公開
ライブラリを公開するには、まず lib モードでビルドしてから npm に公開する必要があります。
npm run buildこれにより、次の構造の lib フォルダが作成されます。その後、npm に公開できます。
npm publish最初の公開前に、
name、version、descriptionなど、package.jsonのフィールドを更新することをお勧めします。
それ以降の公開では、
versionフィールドを更新する必要があります。



