Как заархивировать папку после удаления файлов gulp? - PullRequest
0 голосов
/ 26 апреля 2019

С глотком я делаю эту последовательность задач:

  1. скопировать папку по пути назначения
  2. изменить текст внутри файлов
  3. переименуйте некоторые файлы и удалите входные данные
  4. zip-папка без удаления ввода

gulp.js

gulp.task( 'build',  function(callback) {
    runSequence( 'build-clean', 'copy-main', 'edit-main', 'zip-plugin' );
});

Где-то в задании edit-main я удаляю ввод с помощью rimraf

...

    var translations_build_path = build_path + main_config.plugin_dir + "/translations/";
    let src_po_path = translations_build_path + main_config.plugin_dir + "-fr_FR.po" ;
    let dest_po_path = translations_build_path + main_config.plugin_dir + "-" + options.env + "-fr_FR.po" ;
    gulp.src( src_po_path, {base: translations_build_path } )
        .pipe(rimraf())
        .pipe(rename( dest_po_path ) )
        .pipe(gulp.dest('.'));
    /*mo*/
    let src_mo_path = translations_build_path + main_config.plugin_dir + "-fr_FR.mo" ;
    let dest_mo_path = translations_build_path + main_config.plugin_dir + "-" + options.env + "-fr_FR.mo" ;
    gulp.src( src_mo_path, {base: translations_build_path } )
        .pipe(rimraf())
        .pipe(rename( dest_mo_path ) )
        .pipe(gulp.dest('.'));

...

Когда я пытаюсь сжать папку следующим образом:

gulp.task( 'zip-plugin', function( ){
    if( options.env === "dev" ){
        const build_main_plugin_path = build_path + plugin_ini.main.plugin_dir;
        return gulp.src( build_main_plugin_path + "/**/*", {base: build_path } )
            .pipe( zip(plugin_ini.main.plugin_dir +'.zip'))
            .pipe(gulp.dest( build_main_plugin_path ) );
    }
});

Я получил эту ошибку:

events.js: 183 бросить эр; // необработанное событие error ^ Ошибка: ENOENT: такого файла или каталога нет, lstat 'path-to-my-folder \ translations \ my-plugin-fr_FR.mo'

Да, я удалил my-plugin-fr_FR.mo после переименования, чтобы сжать всю папку.

Как мне решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...