2016-09-11 20 views
3

我希望能夠知道哪些路徑節點的需求將會解決而不運行require。我如何知道node.js將需要的完整路徑而不需要運行require

例如

var myVar = require('./some_module') 

內部,Node.js就會去翻它的路徑,搞清楚是否是一個目錄,js文件,一個JSON文件等,然後加載文件。

有沒有一種方法可以像完整解析路徑一樣,而不需要實際加載模塊?

我在尋找的輸出會是這樣的

/Users/myUser/awesomeProject/some_module.js 

作爲擴展名爲.js的重要組成部分,因爲節點將不得不完全解決的路徑。

說明:require('path').resolve ...不能解決此問題。如果some_module實際上是一個包含其中的package.json的目錄,等等。

回答

4

結果節點有辦法做到這一點!在他們的文檔中找到它並不容易。調用

require.resolve('./some_module') 

給了我正是我要找的

這裏是唯一的參考,我的文檔中發現:

+1

好知道,謝謝 – Alex

相關問題