node_modulespath编程

我正在使用量angular器,我想从全局系统中编程获取npm node_modulespath。

例如我的seleniumjar安装在这里:

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

我想得到

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

要么

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

我写了这个小脚本,它将在path中寻找我的jar

 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 } } 

这里我想这个function是可用的

 var paths = path.getModulePaths() 

但事实并非如此。 我曾经在Python中编写过一个等价物,它是:

 import sys print sys.path 

一些帮助 ?

我想你正在期待以编程方式启动一个webdriverpipe理器。 尝试下面的代码:

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

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