Publicar el proceso del paquete angular npm
Proyecto tras lanzamiento
Esta es la primera vez que creo un paquete npm y me di cuenta de la función de clonación profunda (la clonación profunda no necesita crear un módulo angular, el proyecto es solo para pruebas y aprendizaje).
Proceso de liberación
Nuevo proyecto
ng new angular-clone-deep
Nueva biblioteca
cd angular-clone-deep
ng g library ng-clone-deep --prefix yourprefix
Darse cuenta de la función
cd projects/ng-clone-deep
Para escribir los módulos funcionales que desea implementar, puede consultar: https://github.com/liwei511/ng-clone-deep
Configuración
repositorio: información de recursos
página de inicio: página de inicio
autor: información de autor
versión: número de versión
Compilar
ng build ng-clone-deep
Se compilará en el directorio raíz del proyecto dist / ng-clone-deep (nombre de lib)
Publicar en NPM
registrado
Registre una cuenta en npmjs , tenga en cuenta que se requiere verificación por correo electrónico.
Luego escribe en la terminal
npm adduser
Ingrese el nombre de usuario, contraseña y correo electrónico para iniciar sesión correctamente
Tenga en cuenta que si npm está usando el espejo Taobao, vuelva a cambiar a npm.
Después de iniciar sesión correctamente, ingrese
npm whoami
Si aparece su nombre de usuario, significa que ha iniciado sesión correctamente
lanzamiento
En su directorio compilado (el mío es dist / ng-clone-deep)
npm publish
utilizar
Instalar en pc
npm install ng-clone-deep --save
Utilizar
Importar el servicio en cada componente
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()
}
}
ejemplo
Importe el módulo en todos los módulos en los que desee utilizar los componentes.
import { NgCloneDeepModule } from 'ng-clone-deep/public-api';
@NgModule({
imports: [ NgCloneDeepModule ]
})
export class AppModule {
}
<litwak-ng-clone-deep></litwak-ng-clone-deep>