2016-10-14 3 views
0

Quand je construis un addon de nœud en créant une norme binding.gyp et en cours d'exécution node-gyp build, la bibliothèque est créée addon.node dans le sous-répertoire build/{Release|Debug}/. Quand j'écris des tests ou tout autre code javascript pour utiliser ce module, je dois donner chemin d'accès explicite à l'emplacement de la bibliothèqueComment construire addon de noeud, de sorte qu'il peut être importé que par son nom, et non chemin

Par exemple,

var addon = require('./build/Release/addon') 

Cependant, je voudrais faire en spécifiant uniquement le module nommer et laisser le module du nœud rechercher la bibliothèque

var addon = require('addon') 

Comment cela peut-il être réalisé?

Répondre

0

Il existe un module pour cela si vous êtes d'accord avec une autre dépendance.

https://www.npmjs.com/package/bindings

qui va chercher tous les emplacements de sortie de construction possibles automatiquement, y compris le débogage et libérer les répertoires.

0

Je crois que la seule façon de le faire est de définir require() et d'avoir le module dans le dossier node_modules ou d'avoir le module dans un dossier node_modules dans l'un des répertoires parents. Le noeud utilise la méthode require() sans chemin défini comme indicateur pour rechercher le module dans le répertoire node_modules. Sauf si c'est un module natif. Il est détaillé dans les documents here.