В чем разница между процессом.чвд() В. каталог?



в чем разница между



console.log(process.cwd())


и



console.log(__dirname);


Я видел, как оба используются в аналогичных контекстах.

490   2  

2 ответов:

process.cwd() возвращает текущий рабочий каталог,

то есть каталог, из которого вы вызвали

согласно узлу js doc process.cwd()

cwd - это метод глобального объекта process возвращает строковое значение, которое является текущим рабочим каталогом узла.процесс Яш.

согласно узлу js doc __dirname

имя каталога текущего скрипта в виде строкового значения. __dirname на самом деле не является глобальным, а скорее локальным для каждого модуля.

позвольте мне объяснить на примере,

предположим, что мы есть внутри C:/Project/main.js и бежит node main.js оба эти значения возвращают один и тот же файл

или просто со следующей структурой папок

Project 
├── main.js
└──lib
   └── script.js

главная.js

console.log(process.cwd())
// C:\Project
console.log(__dirname)
// C:\Project
console.log(__dirname===process.cwd())
// true

предположим, у нас есть еще один файл script.js файлы внутри подкаталога project ie C:/Project/lib/script.js и под управлением node main.js требуют script.js

главная.js

require('./assets/script.js')
console.log(process.cwd())
// C:\Project
console.log(__dirname)
// C:\Project
console.log(__dirname===process.cwd())
// true

сценарий.js

console.log(process.cwd())
// C:\Project
console.log(__dirname)
// C:\Project\lib
console.log(__dirname===process.cwd())
// false

Comments

    Ничего не найдено.