Я пытаюсь создать задачу gulp для сжатия и создания исходной карты в одно и то же время. Сжатие и создание исходной карты работают, но я не могу понять, как правильно получить выходные имена при использовании плагина gulp-rename
.Как создать задачу Gulp для правильной настройки мини-данных и исходных карт в .min-файл
Для упрощения: У меня есть source.js
файл в папке /src
, и я хочу, чтобы создать как файл .min.js
и .js.map
в папке /dist
.
Вот что у меня есть:
gulp.task('scripts', function() {
// compressed
gulp.src(['src/*.js'])
.pipe(sourcemaps.init({ includeContent: false, sourceRoot: './' }))
.pipe(uglify())
.pipe(sourcemaps.write('./', {
sourceMappingURL: function(file) {
return file.relative + '.map';
}
}))
.pipe(rename({ suffix: '.min' }))
.pipe(gulp.dest('./dist'));
});
Это работает в том, что он создает следующее /dist
:
jquery-resizable.min.js
(все хорошо - сжимаются, карта ссылок и правильное название)jquery-resizable.js.min.map
(карта есть, но имя плохое - должно быть jquery-resizable.js.map)
Я пробовал массу вариаций, но я не могу понять, как получить карту и сжатие для сборки и получить правильные имена файлов.
Я также попытался переименовать файлы на отдельном шаге, но из-за асинхронного характера глотки это не работает надежно - иногда это срабатывает, иногда это не так, что это тоже не похоже на вариант.
Что мне не хватает?
Я не женат на создание исходных карт именно таким образом, но каков правильный способ сделать это? Все примеры, которые я видел, похоже, делают то, что я делаю выше, кроме, они не переименовывают выходной файл в min.js, который кажется важной частью процесса.
Какое имя файла? 'JQuery-resizable.js.map'? –
Да. Обновленный вопрос для уточнения –
Вы пробовали переименовать перед исходной картой? –