如何知道所需文件的确切路径()

时间:2016-03-28 23:15:57

标签: javascript node.js require

node控制台中我执行:require('path')require('assert') =>如何确切地找出命令加载的文件(文件的绝对路径)

我无法在任何地方找到决定性的答案,而我自己也无法解决这个问题......我认为这比看起来更容易......

1 个答案:

答案 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以查找您要查找的内容。