//文件树
/app
├components
| ├login
| | └index.js
| ├video
| | └index.js
| └posts
| └index.js
├config
├containers
| ├login
| | └index.js
| ├video
| | └index.js
| └posts
| └index.js
└src
比如我要在containers -> login -> index.js
加载components-> login -> index.js
,我要这样写:
require('../../components/login');
有没有可以直接加载绝对路径的方法?类似这样:
require('/components/login');
或者其他方案?
require() 可以用絕對路徑的,可以這樣:
如樓上所說,不建議使用絕對路徑。
你需要明白的一件事情,你的node服務是放在服務端上的,哪裡來的唯一的絕對路徑(這個跟前端瀏覽器使用requirejs很一樣),只有相對路徑(相對當前伺服器而言)。
不過可以結合__dirname 和 path 寫一個通用的方法來取路徑
在你nodejs入口檔例如 app.js 裡面
global.prefixPath = path.resolve(__dirname, 'XXX')
後面使用的時候 就可以 require(global.prefixPath + 'XXX')
https://nodejs.org/dist/lates...
node在執行的過程中會有一個變數和一個可以產生路徑的方法:
process.cwd()
是目前執行node指令時候的資料夾位址__dirname
是被執行的js 檔案的位址直接拼吧