IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NodeJS Discussion :

[addon][npm] 'binding.gyp', 'package.json'… et bonnes pratiques


Sujet :

NodeJS

  1. #1
    Membre actif
    Avatar de epeios
    Homme Profil pro
    Ingénieur logiciel
    Inscrit en
    Août 2003
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur logiciel

    Informations forums :
    Inscription : Août 2003
    Messages : 38
    Billets dans le blog
    2
    Par défaut [addon][npm] 'binding.gyp', 'package.json'… et bonnes pratiques
    Bonsoir !

    Nouveau venu sur ce forum, j'espère que ce message y a sa place.

    Je me suis lancé dans le développement de modules pour Node.js. Histoire de me faire la main, j'ai développé un parseur XML, qui, malgré quelques limitations, est fonctionnel, bien qu'incomplet, notamment en ce qui concerne la gestion d'erreurs.

    Comme Node.js et npm semblent intimement liés, j'ai, tant bien que mal, crée un 'package' que j'ai publié sur 'npmjs.org' (http://www.npmjs.org/package/xppq/), et qui, après moult tentatives, semble enfin s'installer correctement.

    Pour parvenir à mes fins, autant pour l'écriture du module que pour sa publication, j'ai dû procéder par tâtonnement, en m'inspirant des exemples trouvés ci et là sur le web.

    Un de mes plus gros souci a été le contenu du fichier 'binding.gyp', car je n'ai pas trouvé de document qui soit suffisamment exhaustif quand au contenu de ce fichier. Sans compter que, pour la spécification de certaines options, par exemple l'activation des exceptions dans Microsoft Visual Studio, il semblerait qu'il y ai plusieurs façons de faire, et j'aurais bien aimé savoir laquelle est la bonne !

    Concernant la publication sur 'npmjs', ça a été un peu plus simple, mais j'ai quand même quelques interrogations concernant le fichier 'package.json'.

    Déjà, lors de la simple installation d'un 'package', 'npm' se plaint si le fichier 'package.json' n'est pas présent dans le répertoire courant ou s'il est incomplet. Autant je comprend son importance pour la publication d'un 'package', autant le rôle de ce fichier lors de la simple installation d'un 'package' m'échappe totalement !

    Toujours concernant le fichier 'package.json', j'ai crée une entrée 'test' dans la section 'scripts'. Je pensais naïvement que la commande indiquée dans cette entrée serait lancée lors d'un 'npm install-test xppq', ou par un 'npm test xppq' après installation du 'package' en question. Que nenni ! Il faut se placer dans 'node-modules/xppq' et là, on peut lancer 'npm test' pour exécuter la commande attendue. Or, il me semblait que l'utilisateur n'avait pas à se préoccuper du répertoire 'node_modules', et donc, n'est, à priori, pas censé effectuer ce genre de manœuvre. Soit il y a quelque chose qui m'échappe, soit cette entrée 'test' dans le section 'scripts' d'un 'package.json' me semble bien inutile...

    De manière globale, je cherche de le documentation sur les bonnes pratiques concernant l'écriture et la publication de 'package' Node.js, c'est-à-dire sur comment faciliter au maximum la mise en œuvre d'un 'package' par un développeur Node.js, documentation que je n'ai trouvé, ni sur les sites officiels, ni sur les différents sites web sur lesquels j'ai échoué suite à mes différentes recherches...

    D'avance, merci !

  2. #2
    Membre émérite
    Avatar de Gnuum
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Billets dans le blog
    1
    Par défaut
    Le package.json est la carte d'identité de ton application/package et défini notamment tes dépendances. Je vois mal quel type de projet pourrait s'en passer sauf peut-être dans le cas d'un simple fichier de script JavaScript à exécuter côté serveur pour faire du code non industriel.
    https://docs.npmjs.com/files/package.json

    Pour le reste, il faut simplement lire la bonne documentation pour comprendre comment cela fonctionne.
    Si je peux me permettre de te suggérer les liens suivants:
    https://docs.npmjs.com/misc/scripts
    http://blog.npmjs.org/post/118810260...-tool-with-npm
    http://blog.npmjs.org/post/119317128...mand-line-tool
    http://blog.npmjs.org/post/119377806...l-configurable

Discussions similaires

  1. [Débutant] VB.net WPF : bonne pratique ? (Observablecollection List(of ) data binding)
    Par Gloubi99 dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 01/06/2015, 13h26
  2. Fomatage de package.json
    Par Faboogy dans le forum NodeJS
    Réponses: 6
    Dernier message: 02/04/2015, 10h06
  3. Application packaging bonnes pratiques
    Par allstar dans le forum Groovy
    Réponses: 1
    Dernier message: 23/07/2013, 16h50
  4. Traitement json bonne pratiques
    Par omelhor dans le forum Langage
    Réponses: 2
    Dernier message: 26/07/2012, 17h49
  5. Catalogue, Bind package et Plan
    Par zhazie dans le forum DB2
    Réponses: 2
    Dernier message: 25/01/2007, 22h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo