/ / node_modules ruta mediante programación - node.js, transportador

ruta de node_modules mediante programación - node.js, transportador

Estoy usando el transportador y quiero obtener mediante programación la ruta npm node_modules del sistema global.

Por ejemplo mi jarra de selenio se instala aquí:

C:/Users/myuser/AppData/Roaming/npm/node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-3.7.1.jar

y yo quería conseguir

C:/Users/myuser/AppData/Roaming/npm/node_modules/

o

C:/Users/myuser/AppData/Roaming/npm/node_modules/protractor/node_modules/

Escribí este pequeño script, que buscará mi tarro en los caminos.

var path = require("path");
var fs = require("fs");

var paths = path.getModulePaths()

for (i=0;i<paths.length;i++) {
file = path.join(paths[i],"webdriver-manager","selenium","selenium-server-standalone-3.7.1.jar")
if (fs.existsSync(file)) {
var seleniumServerJar = file
continue
}
}

Aquí supongo que esta función está disponible.

var paths = path.getModulePaths()

pero no lo es. Solía ​​escribir un equivalente en Python, que es:

import sys
print sys.path

Respuestas

1 para la respuesta № 1

Supongo que está esperando iniciar un administrador de webdriver programáticamente. Pruebe el siguiente código:

var pkgPath = require.resolve ("protractor");

var protractorDir = path.resolve(path.join(path.dirname(pkgPath), "..", "bin"));
var webdriverManagerPath = path.join(protractorDir, "/" + "webdriver-manager"));