Как gulp-load-plugins может заменить все gulp- to g?
Стандартные gulp-load-plugins удаляют все имена плагинов gulp-
Но как заставить gulp-load-plugins по умолчанию заменить все имена плагинов, которые начинаются с gulp-
в g
?
Например
gulp-sass
other-gulp-plugin
переименовать в
gSass
other-gulp-plugin
1 ответ
pattern: ['gulp- ', ' gulp . ',' @ / gulp {-,.} '], // глобус (-ы) для поиска
replaceString: /^gulp(-|.)/, // что удалить из имени модуля при добавлении его в контекст
renameFn: function (name) { ... }, // функция для обработки переименования плагинов (работает по умолчанию)
Таким образом, вам нужно что-то вроде этого (то есть, не проверено)
var plugins = require("gulp-load-plugins")({
renameFn: function(name) {
// if only it were as easy as the below : the simple case
// return name.replace(/^@*gulp(-|.)(.)/, 'g\U$2\E');
// but try this
return name.replace(/^@*gulp(-|.)(.)/, function (match, p1, p2) {
return "g" + p2.toUpperCase(); })
// p2 is the second capture group
}
});
Простой случай:
- / @ * gulp (- |.): найти шаблоны @gulp-, @gulp., gulp- и gulp.
- (.): захватить следующего персонажа
- g\U$2\E: заменить только 2-ю группу захвата (.) на
- 'g', за которым следует заглавная 2-я группа захвата $ 2 и
- конечные заглавные буквы 2-й группы захвата \E [не очень нужны в вашем случае, поскольку вам нужен только один символ].
Я оставил простой случай для инструкции, но вам, вероятно, нужна более длинная некомментированная версия в node / gulp.