Además de tomar el archivo package.json
en la raíz del proyecto, ¿hay alguna forma de determinar la lista de dependencias de una aplicación node.js en ejecución? ¿El nodo mantiene esta metainformación disponible como alguna var en el espacio de nombres global?Determine los módulos NPM utilizados desde una aplicación node.js en ejecución
Respuesta
Si estás en busca de los paquetes de la NGP actualmente instalados en el directorio de la aplicación, a continuación, se puede instalar el paquete de npm (npm install -g npm
) y programaticallyls
invocar para listar los paquetes instalados y los árboles de dependencias.
Obviamente, esto no tiene ninguna relación con si los paquetes instalados son realmente require
'd en la aplicación o no.
El uso no está bien documentado pero esto debería comenzar.
var npm = require('npm');
npm.load(function(err, npm) {
npm.commands.ls([], true, function(err, data, lite) {
console.log(data); //or lite for simplified output
});
});
ej .:
{ dependencies:
{ npm: { version: '1.1.18', dependencies: [Object] },
request: { version: '2.9.202' } } }
De lo contrario, creo que la única otra opción es realizar una introspección del módulo module
para obtener información relativa a las rutas de módulo actualmente cargados/caché. Sin embargo, esto definitivamente no parece haber sido desarrollado como una API pública. No estoy seguro de si hay alguna alternativa, por lo que me gustaría saber si hay alguna, por ejemplo,
var req = require('request'); // require some module for demo purposes
var m = require('module');
// properties of m contain current loaded module info, e.g. m._cache
creo que podría utilizar require-analyzer, qué tipo de obras de acuerdo con Isaacs (podría perder algunos). Puede escuchar esto en Nodeup's first podcast desde 11:55.
O podría probar James node-detective que probablemente encontrará sus dependencias mejor (pero no al ejecutar el código), sino a causa de la naturaleza dinámica de Javascript (12:46).
detective
Encuentra todas las llamadas a require() no importa cuán loco anidada usando un adecuada a pie de la AST.
PS: para exponer aquellas variables package.json a Node.js podría utilizar node-pkginfo
- 1. Cómo administrar los módulos internos Node.JS
- 2. Módulos limpios de NPM
- 3. paquete.json generación/npm paquetes no utilizados
- 4. Node.js: NPM instalación falla
- 5. Node.js - El mejor método para emitir eventos desde los módulos
- 6. Node.js: ¿los módulos se inicializan solo una vez?
- 7. ayuda que requiere un módulo de NPM en Node.js
- 8. Cómo ver la versión de socket.io en node.js npm server
- 9. Mejor flujo de trabajo usando node.js npm y git
- 10. ¿Dónde colocamos los módulos de nodos que instalamos por npm en un proyecto Meteor?
- 11. ¿Cómo puedo invocar a Ruby desde Node.js?
- 12. Mantener node.js en ejecución
- 13. ¿Devuelve una lista de los módulos de Python importados utilizados en un script?
- 14. módulos ocaml aplicación
- 15. ejecución secuencial en Node.js
- 16. ¿Compartir variables entre módulos en Javascript/node.js?
- 17. ¿Qué módulos node.js 'requieren' automáticamente?
- 18. ¿Cómo abro una aplicación de terminal desde node.js?
- 19. ¿Reúne todos los módulos de Python utilizados en una sola carpeta?
- 20. Módulos Node.js para Amazon SES
- 21. Escribiendo módulos C++ para node.js
- 22. Módulos de PayPal para Node.js
- 23. Lista de módulos PHP utilizados en base de código
- 24. Cargando módulos Node.js dinámicamente según la ruta
- 25. ¿Cómo hacer "ping" desde la aplicación Node.js?
- 26. Obtenga todos los módulos, controladores y acciones desde una aplicación Zend Framework
- 27. Determine los ensamblados cargados
- 28. Evite la actualización npm después de cada implementación en Heroku
- 29. Lista de módulos node.js cargados actualmente?
- 30. ¿Cómo se reinstalan las dependencias de una aplicación usando npm?
Esto parece workable.I'm va a dejar la pregunta abierta para un poco más para ver si alguien tiene sugerencias . ¡Gracias! – MrEvil
Puede valer la pena preguntar en el canal de IRC node.js también .. http://nodejs.org/community/ –