Я следовал за ответом (выбранным оп) здесь , чтобы сменить каталог в моем gulpfile.js
.Чтобы проверить, был ли изменен каталог, я добавил еще одну задачу, которая печатает текущий каталог.При запуске оба tasks
выполняются без ошибок.Тем не менее, console.log
печатает адрес родительского каталога вместо каталога, в котором вы находились в предыдущей задаче.
Вот как я могу настроить мой каталог, gulpfile.js и package.json.
directory tree
-- auth
---- gulpfile.js
---- package.json
---- other js scripts
---- <dest_folder>
gulpfile.js
/// TASKS
gulp.task('directory-changer', changeDirectory);
gulp.task('directory-printer', printCD);
gulp.task('default', gulp.series('directory-changer', 'directory-printer'));
/// TASKS
function changeDirectory(done) {
process.chdir(path.resolve(__dirname, 'dest'));
gulp.src()
done();
}
function printCD(done) {
console.log(__dirname);
done();
}
pacakge.json
{ // other properties
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"run-gulp": "node ./node_modules/gulp/bin/gulp.js"
},
// other fields
Сгенерированный вывод:
npm run run-gulp
> auth@1.0.0 run-gulp <PROJECT_PATH>/
> node ./node_modules/gulp/bin/gulp.js
[13:42:48] Using gulpfile <PROJECT_PATH>/gulpfile.js
[13:42:48] Starting 'default'...
[13:42:48] Starting 'directory-changer'...
[13:42:48] Finished 'directory-changer' after 1.14 ms
[13:42:48] Starting 'directory-printer'...
<PROJECT_PATH>/
[13:42:48] Finished 'directory-printer' after 387 μs
[13:42:48] Finished 'default' after 4.81 ms
Теперь я думаю, что это возможно, потому что __dirname
печатает путь выполнения сценария, а не измененныйкаталог.Это тот случай или что-то еще происходит?