目次
verdaccioに基づいてプライベートnpmウェアハウスソリューションを構築する
1はじめに
フロントエンドのエコロジーは非常に繁栄しており、ニーズがますます複雑になるにつれて、フロントエンドアプリケーションはますます大きくなっています。サービスの分離、チームワーク、その他の理由を改善するために、一般的に大規模なフロントエンドアプリケーションはいくつかのプロジェクトに分割されます。サービスは維持されており、これらのサービスには通常、同じコンポーネント、特にUIパーツのコンポーネントが多数あります。もちろん、これらのコンポーネントを各サービスにコピーするべきではないため、コンポーネントを追加または更新する場合は、それでは非常に苦痛になるので、ほとんどの練習は一般的なコンポーネントを抽出することです。だから問題は、どこにそれを出すべきかということです。npmを装着することは絶対に適切ではありません。これは会社の内部コンポーネントです。したがって、一般的な方法は、会社の内部プライベートライブラリを実現するためにプライベートnpmウェアハウスを構築することです。つまり、次の利点があります。
- ホスト会社の内部コンポーネント、民営化、および管理と更新が容易
- プライベートウェアハウスは通常、会社の内部サーバーを使用し、ダウンロード速度が活用されます
2.民間倉庫建設計画の選択
現在市販されている無料プログラムを直接紹介する
-
DIYNPMプライベートレジスタ
npmの公式ウェブサイトはプライベートウェアハウスを構築するためのソリューションを提供していますが、この種のソリューションは完全に独自に構築されています。時間や堅牢性の観点からはお勧めしません。クリックしてリンクを表示
-
ギット
ストレージにGitを使用し、package.jsonでgitリポジトリのURLを指定するだけですが、このアプローチには次の欠点があります。
1)package.jsonに、このプロジェクトに関係のないgitウェアハウスを入力します
2)gitリポジトリがプライベートの場合、HTTPSまたはSSHの資格情報が必要であり、通常、各チームの権限はありません。
-
シノピア
verdaccioの前身ですが、現在は維持されていません
-
Cnpmjs.org
cnpmはビルドが面倒です。gitを確認してください
-
Verdaccioは、構成のないシンプルなローカルプライベートnpmリポジトリレジストリです。開始するのにデータベースは必要ありません!Verdaccioは、独自の小さなデータベースと、他のレジストリ(npmjs.org Webサイトなど)をプロキシする機能を提供し、ダウンロードしたモジュールをキャッシュすることもできます。
これは、この記事でプライベートnpmウェアハウスを構築するための推奨ソリューションでもあります
3.構築手順(非ドッカー)
-
社内のサーバー、会社は一般的にそれを申請します
-
Nodejsのインストール
-
npm install -g verdaccio
-
インストールしたら、cliを最も実行する必要があります
$> verdaccio warn --- config file - /home/.config/verdaccio/config.yaml warn --- http address - http://localhost:4873/ - verdaccio/4.5.0
npmレジストリの情報を設定できます
npm set registry http://localhost:4873/
.npmc登録ファイルを作成します
//.npmrc registry=http://localhost:4873
または、package.jsonに構成を追加します
{ "publishConfig": { "registry": "http://localhost:4873" } }
4.dockerに基づいて構築する
-
ドッカー画像をプル
docker pull verdaccio/verdaccio
-
dockerでverdaccioを実行する
docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio
最後のパラメーターは、使用する画像を定義します。イメージをプルしなかった場合、上記のコードはdockerhub上の最新のverdaccioイメージをプルします。docker
を使用してビルドするのは簡単で、基本的にコマンドを実行するだけであると言えます。
5.パッケージをアップロードする
-
アカウントを追加する
verdaccioを使用すると、誰でもアカウントを作成できます。verdaccioの構成ファイルが構成
config.yaml
されていない場合、デフォルトでは、verdaccioに登録した開発者は公開権限を持っています。// 添加账号 npm adduser --registry your_address
-
.npmrcを追加します
registry=your_address
-
npm公開
更新するたびにバージョンを変更する必要があることに注意してください