2
0

More than 1 year has passed since last update.

pnpmでvite, react, typescriptのprojectを作成する

Posted at

pnpmでvite, react, typescriptのprojectを作成する

Motivation

pnpmのベンチマークが気になったことと、主要なpackageでpnpmを利用していることがあり存在が気になっていた。
nx, lerna以外の monorepoの構成をpnpmで一度試してみたくなったことがこの記事のモチベーションです。

table of contents

  1. 作成しようとしているプロジェクト構成
  2. pnpmのworkspace用のconfigファイルを作成する
  3. vite, react, typescriptのprojectを作成する
  4. 起動してみる

1. 作成しようとしているプロジェクト構成

Motivationにもあるとおり、pnpmのmulti-package構成を利用したプロジェクト構成にしようとしています。

$ tree . -L 2

├── README.md
├── apps                  application packages
│   └── react-project     vite project
├── node_modules
├── package.json
├── pnpm-lock.yaml
└── pnpm-workspace.yaml

1. pnpmのworkspace用のconfigファイルを作成する

$ mkdir vite-react-typescript && cd "$_"
$ npm init -y
$ touch pnpm-workspace.yaml
$ tree . -L 1
.
├── package.json
└── pnpm-workspace.yaml

applicationを記載するディレクトリ(/apps)を作成して、pnpm-workspace.yamlに追記します。

$ mkdir apps
$ vi pnpm-workspace.yaml
pnpm-workspace.yaml
packages:
  - 'apps/**'

追記が完了したら、viteのprojectをapps以下に作成していきます。

2. vite, react, typescriptのprojectを作成する

$ pwd
/vite-react-typescript/apps

$ pnpm create vite react-project --template react-ts
Library/pnpm/store/v3/tmp/dlx-71354      |   +1 +
Packages are hard linked from the content-addressable store to the virtual store.
  Content-addressable store is at: /Users/XXX/Library/pnpm/store/v3
  Virtual store is at:             Library/pnpm/store/v3/tmp/dlx-71354/node_modules/.pnpm
Library/pnpm/store/v3/tmp/dlx-71354      | Progress: resolved 1, reused 1, downloaded 0, added 1, done

Scaffolding project in /vite-react-typescript/apps/react-project...

Done. Now run:

  cd react-project
  pnpm install
  pnpm run dev

vite cliを利用してプロジェクトを作成したあとに、依存関係をインストールします。

$ pwd
/vite-react-typescript
$ pnpm install

3. 起動してみる

project rootディレクトリで、起動などを実施したいため、package.jsonを追記します。

/vite-react-typescript/package.json
"scripts": {
    "dev": "pnpm  --parallel --filter \"./**\" dev"
  },
$ pnpm dev
> vite-react-typescript@1.0.0 dev /vite-react-typescript
> pnpm  --parallel --filter "./**" dev

apps/react-project dev$ vite
apps/react-project dev:   VITE v4.0.1  ready in 2028 ms
apps/react-project dev:   ➜  Local:   http://127.0.0.1:5173/
apps/react-project dev:   ➜  Network: use --host to expose

Vite-React-TS.png

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0