0.0.3 • Published 3 years ago

psud-site-plugin v0.0.3

Weekly downloads
17
License
-
Repository
-
Last release
3 years ago

Pour lancer la génération de la librarie :

Se placer dans le dossier : site-plugin/src/angular/siteweb/projects/psud-site-plugin

Deux commandes possibles : ng build => Build normal de la librarie. Cependant les assets ne seront pas dans la librairie. npm run build => Cette commande appelle le script 'build' présent dans le package.json et qui lui va copier les assets dans la librairie de destination. Une autre solution aurait été d'utiliser la version 9 du ng-packagr (voir : https://angular.io/guide/creating-libraries#managing-assets-in-a-library)

##Localement utiliser la librairie dans un autre projet Procédure inspirée par ce lien : https://dev.to/angular/pro-tip-npm-link-explained-57be

1 - Builder la librairie de préférence avec les assets.

2 - La librairie sera placée sous

site-plugin/src/angular/siteweb/dist/psud-site-plugin

Il faut se placer dans ce répertoire et lancer la commande

'npm link'

Cela va créer un lien symbolique dans npm.

3 - On va maintenant se positionner dans l'application Angular qui va consommer notre librairie. Dans le fichier angular.json ajouter une entrée dans les options de build :

{
    "projects": {
        <nom-application> : {
            "architect": {
                "build": {
                    "options" :{
                    
                    <!> Ajouter ici l'entrée     "preserveSymlinks": true
                    
                    }
                }
            }
        }
    }
}

4 - Dans le package.json, on va rajouter notre dépendance à la librairie et celle de ngx-lightbox nécessaire pour la librairie.

4-a : Dans un premier temps rajouter la dépendance à ngx-lightbox :

    "dependencies": {
         ...
        "ngx-lightbox": "^2.2.2"
    }

Puis faites un 'npm install' pour récupérer cette dépendance.

4-b : Dans un second temps rajouter la dépendance de la librairie :

    "dependencies": {
         ...
        "ngx-lightbox": "^2.2.2",
        "psud-site-plugin": "^0.0.1"
    }

Cette fois inutile de faire 'npm install' car notre librairie n'est pas connue dans le registry npm.

5 - Ici nous allons nous servir du lien symbolyque créé dans l'étape 2. Dans l'application consommatrice, se positionner à la racine du projet angular, au même niveau que son package.json Lancer la commande

npm link <nom-de-la-librairie>

Exemple dans notre cas on mettra

npm link psud-site-plugin     

Un lien sera créé avec la librairie et elle apparaîtra dans le node_modules.

<!> Attention dans le cadre de développement, si une application consommatrice tourne et que vous rebuilder la librairie, npm va recréer un lien symbolique, et l'application consommatrice ne retrouvera pas la dépendance. Il faudra donc arrêter votre application consommatrice et rejouer l'étape 5.

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago