在node
控制台中我执行:require('path')
或require('assert')
=>如何确切地找出命令加载的文件(文件的绝对路径)
我无法在任何地方找到决定性的答案,而我自己也无法解决这个问题......我认为这比看起来更容易......
答案 0 :(得分:1)
我认为这并不像您希望的那样简单,但使用require
对象可以做到这一点:
// Load up some modules
var _ = require('lodash');
var natural = require('natural');
// These are where Node will go looking for the modules above
console.log('Paths:');
console.log(require.main.paths);
// You can print out the id of each module, which is the path to its location
console.log('Module IDs:');
require.main.children.forEach((module) => {
console.log(module.id);
});
输出:
$ node index.js
Paths:
[ '/Users/tyler/Desktop/js_test/node_modules',
'/Users/tyler/Desktop/node_modules',
'/Users/tyler/node_modules',
'/Users/node_modules',
'/node_modules' ]
Module IDs:
/Users/tyler/Desktop/js_test/node_modules/lodash/lodash.js
/Users/tyler/Desktop/js_test/node_modules/natural/lib/natural/index.js
据我所知,模块ID将按照require
的顺序排列,因此您应该能够使用它们的索引或动态搜索模块ID以查找您要查找的内容。