Je développe un paquetage NPM, qui nécessite un module de la racine de l'application. Pensez-y comme le paquet nécessitant un module de propriétés, qui est placé dans la racine de l'application par l'utilisateur.NPM - chemin vers la racine de l'application
Comment obtenir le chemin d'accès à la racine de l'application?
MISE À JOUR:
Pour résumer ce que je suis en train de faire, express vous permet de faire quelque chose comme ceci:
app.use(express.router(myNPMModule.router));
La fonction routeur se app
comme paramètre. L'idée est de permettre aux utilisateurs de spécifier les routes dans un fichier séparé, et ils ont juste besoin de suivre certaines conventions comme mettre leurs contrôleurs dans le dossier /controllers
, et mon module sera en mesure d'analyser dynamiquement le chemin, puis d'invoquer la bonne méthode dans le bon module. Je l'ai déjà fait fonctionner, mais je me suis rendu compte que si je l'empaquais dans NPM, je n'ai plus accès au chemin de l'application, donc je ne peux pas invoquer dynamiquement la méthode d'un module de contrôleur.
Vous ne devriez pas faire cela, faites plutôt appeler l'utilisateur par le "constructeur" (ou toute autre fonction que vous avez) avec les propriétés. – alessioalex
Voir mon commentaire sur l'autre réponse. J'écris un routeur, et je m'attends à ce que l'utilisateur suive certaines conventions. Comme mettre ses contrôleurs dans "controllers/moduleName.js" - et ensuite basé sur l'URL, je serai en mesure d'invoquer le contrôleur et la méthode corrects. – jeffreyveon
Juste essayer le npm [arc-en-ciel] (https://npmjs.org/package/rainbow) que j'ai écrit. C'est un middleware de routeur identique à votre exigence pour mapper l'URL aux chemins de fichiers des contrôleurs. – mytharcher