Gulp:准备dist文件夹并编辑ini文件

Gulp : Prepare dist folder and edit ini file

本文关键字:编辑 ini 文件 文件夹 准备 dist Gulp      更新时间:2023-09-26

我正在尝试创建一个gulp任务负责:1. 清理以前创建的dist文件夹2. 复制一些文件夹在新的dist文件夹3.编辑dist文件夹中的ini文件以更新密钥

var destination = './dist/test/v2';
// Copy ini file to dist folder
gulp.task('prepareDelivery', function () {
  gulp.src([source + '/ini/app_sample.ini']).pipe(gulp.dest(destination + '/ini/'));
});
// update version in ini file
gulp.task('prepareAppIni', ['prepareDelivery'], function () {
  var config = ini.parse(fs.readFileSync(destination + '/ini/app_sample.ini', 'utf-8'))
  config.DATA.version = '1.0'
  fs.writeFileSync(destination + '/ini/app.ini', ini.stringify(config, { section: 'section' }))
});
// default task
gulp.task('default', ['clean', 'prepareDelivery', 'prepareAppIni']);

我得到这个错误:

Error: ENOENT: no such file or directory, open './dist/test/v2/ini/app_sample.ini'

我不明白为什么,因为我正在等待prepareDelivery任务在执行prepareAppIni任务之前被终止…

我不明白为什么,因为我正在等待prepareDelivery任务在

之前终止

这是不对的。您的default任务有多个依赖项(clean, prepareDelivery, prepareAppIni),并且它们都同时启动。

很可能你想让prepareAppIni依赖于prepareDelivery。反过来,这应该取决于clean任务。有了这个实现,default应该只依赖于prepareAppIni:

gulp.task('default', ['prepareAppIni']);

此外,prepareDelivery中缺少return,因此gulp不知道何时完成。应该是

// Copy ini file to dist folder
gulp.task('prepareDelivery', function () {
  return gulp.src([source + '/ini/app_sample.ini']).pipe(gulp.dest(destination + '/ini/'));
});