当我尝试用gulp覆盖文件时遇到问题。为了让您理解我的问题,以下是我尝试做的一个示例: 我的项目文件路径:
- Project
|- clients
|- clientBase
|- JS
|- jsexample.js
|- jsexample2.js
|- CSS
|- HTML
|- client1
|- JS
|- jsexample2.js
|-dist
dist
。const args = require('yargs').argv;
const src = {
base: './Project/clients/clientBase',
client: `./Project/clients/${args.client}`,
};
const dist = './Project/dist';
const runSequence = require('run-sequence');
gulp.task('copy:base', function(){
return gulp
.src(`${src.base}/**/*`)
.pipe(gulp.dest(dist))
});
gulp.task('copy:client', function(){
return gulp
.src(`${src.client}/**/*`)
.pipe(gulp.dest(dist))
});
gulp.task('copy', function(){
if (args.client) {
runSequence('copy:base', 'copy:client');
} else {
runSequence('copy:base');
}
});
问题是copy:client
任务不会覆盖dist文件。
我已经检查了文件路径和文件内的内容。参数client
传递给了,因此该任务正在执行。
答案 0 :(得分:0)
dist需要加引号:
.pipe(gulp.dest('dist'))
您可能还需要更改路径,具体取决于运行gulp的位置
答案 1 :(得分:0)
经过更多研究,我发现在default task
的任务序列链中,还有另一个任务无需任何日志即可再次复制基本代码。