Позвольте мне показать вам, что у меня есть, и как я это делаю, может быть, это поможет.
Мои package.json
:
{
"dependencies": {
"gulp": "*",
"gulp-autoprefixer": "*",
"gulp-html-validator": "0.0.5",
"gulp-image-optimization": "^0.1.3",
"gulp-plumber": "*",
"gulp-rev-collector": "^0.1.4",
"gulp-rev-manifest-replace": "0.0.5",
"gulp-ruby-sass": "*",
"gulp-sass": "*",
"gulp-scss-lint": "^0.1.10",
"gulp-sourcemaps": "*",
"imagemin-optipng": "^4.2.0",
"imagemin-pngquant": "^4.0.0",
"vinyl-paths": "^1.0.0"
},
"devDependencies": {
"del": "^1.1.1",
"gulp-cached": "^1.0.4",
"gulp-concat": "^2.5.2",
"gulp-cssmin": "^0.1.6",
"gulp-filesize": "0.0.6",
"gulp-gzip": "^1.0.0",
"gulp-htmlhint": "0.0.9",
"gulp-htmlmin": "^1.1.1",
"gulp-if": "^1.2.5",
"gulp-imagemin": "^2.2.1",
"gulp-load-plugins": "^0.8.0",
"gulp-rename": "^1.2.0",
"gulp-rev": "^3.0.1",
"gulp-uglify": "^1.1.0",
"gulp-useref": "^1.1.1",
"gulp-webserver": "^0.9.0",
"run-sequence": "^1.0.2"
}
}
Как я бегу gulp-load-plugins
:
'use strict';
var gulp = require('gulp'),
$ = require('gulp-load-plugins')({
pattern: ['gulp-*', 'gulp.*'],
replaceString: /\bgulp[\-.]/,
lazy: true,
camelize: true
}),
И это пример плагина:
// html optimization
gulp.task('htmloptimize', function() {
return gulp.src(dev.html)
.pipe($.htmlmin({
collapseWhitespace: true
}))
.pipe(gulp.dest(dist.dist))
});
Как вы можете увидеть все мои трубы называются .pipe ($. plugin()) означает, что $ обозначает gulp-. Если у вас есть плагин с именем gulp-name-secondname, вы вызываете его так: .pipe ($. NameSecondname()).
Вверху были нужны модули gulp-load-plugins, у меня есть верблюд, установленный в true. Ленивая загрузка загружает только плагины, которые вы используете не у всех из них.
Осторожнее с глотком-багажных плагинов, так как он замедляет свои задачи, например, я запустить Глоток-веб-сервер, когда я использую его с глотком-багажных плагинов задача заканчивается после того, как 200мс против 20мс, если я использую это нормально. Поэтому не используйте все, играйте с ним, посмотрите, сколько производительности вы теряете для каждой задачи и расставляете приоритеты.
Я бы предложил console.log (Object.keys (плагины)); вместо этого не взорвать консоль и получить список загружаемых файлов. –