-Suppose我在我的項目的根被稱爲「file.xml」fs.readFileSync不是文件相對? Node.js的
-Suppose我在測試/稱爲「test.js」的測試文件的文件,它有
const file = fs.readFileSync("../file.xml");
如果我現在從我的項目的根目錄運行node ./tests/test.js
它說../file.xml不存在。如果我在tests目錄中運行相同的命令,那麼它就可以工作。
看來fs.readFileSync是相對於腳本被調用的目錄而不是腳本的實際位置。如果我在test.js中寫入fs.readFileSync("./file.xml")
,它看起來會更混亂,並且與require文件中的相對路徑不相符。
這是爲什麼?
如何避免重寫我的fs.readFileSync中的路徑?
'__dirname'不一定是一樣的當前工作目錄,但'FS。 readFileSync()'使用當前的工作目錄。當前的工作目錄很可能會設置爲啓動節點時的狀態。 – jfriend00