我正在按照答案(op选择的那个)imposm.parser来更改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
正在打印脚本的执行路径而不是更改的目录。是这种情况还是还有其他事情发生?