Angular NPMパッケージプロセスの公開
リリース後のプロジェクト
npmパッケージを作成してclone-deep関数を実現したのはこれが初めてです(clone-deepで角度モジュールを作成する必要はありません。プロジェクトはテストと学習のためだけです)。
リリースプロセス
新しいプロジェクト
ng new angular-clone-deep
新しいライブラリ
cd angular-clone-deep
ng g library ng-clone-deep --prefix yourprefix
実現機能
cd projects/ng-clone-deep
実装する機能モジュールを作成するには、https://github.com/liwei511/ng-clone-deepを参照してください。
構成
リポジトリ:リソース情報
ホームページ:ホームページ作成
者:作成者情報
バージョン:バージョン番号
コンパイル
ng build ng-clone-deep
プロジェクトのルートディレクトリdist / ng-clone-deep(ライブラリ名)にコンパイルされます。
NPMに公開
登録済み
npmjsにアカウントを登録します。メールの確認が必要です。
次に、ターミナルに入力します
npm adduser
ユーザー名、パスワード、電子メールを入力して正常にログインします
npmがTaobaoミラーを使用している場合は、npmに切り替えてください。
ログインに成功したら、次のように入力します
npm whoami
ユーザー名が表示された場合は、ログインに成功したことを意味します
解放する
コンパイルされたディレクトリ(私のものはdist / ng-clone-deepです)
npm publish
使用する
インストール
npm install ng-clone-deep --save
使用する
すべてのコンポーネントにサービスをインポートする
import { Component, OnInit } from '@angular/core';
import { NgCloneDeepService } from 'ng-clone-deep';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
source = [{name: 'Tom'}, {name: 'Jerry'}];
constructor(private cloneDeep: NgCloneDeepService) {}
ngOnInit() {
const sourceClone = this.cloneDeep.clone(this.source); // cloneDeep.clone()
}
}
例
コンポーネントを使用するすべてのモジュールにモジュールをインポートします。
import { NgCloneDeepModule } from 'ng-clone-deep/public-api';
@NgModule({
imports: [ NgCloneDeepModule ]
})
export class AppModule {
}
<litwak-ng-clone-deep></litwak-ng-clone-deep>