@Rokis
Не стыдно спрашивать, стыдно не пытаться...

Как оптимизировать изображения с помощью gulp-tinypng на сервере?

Здравствуйте.

Установил на свой сервер (ubuntu 16.04) плагин gulp-tinypng, но не понимаю как он работает. В google подробной инструкции нет так, как я подозреваю, что это очень просто с точки зрения программирования.

var gulp = require('gulp');
var imagemin = require('gulp-tinypng');
 
gulp.task('tinypng', function () {
    gulp.src('src/image.png')
        .pipe(tingpng('API_KEY'))
        .pipe(gulp.dest('dist'));
});


Я создал новый файл:
nano /node_modules/gulp-tinypng/jim.js

В него записал следующий код исходя из этого примера:

var gulp = require('gulp');
var imagemin = require('gulp-tinypng');
 
gulp.task('tinypng', function () {
    gulp.src('/var/www/*.png')
    gulp.src('/var/www/*.jpg')
        .pipe(tingpng('мой_ключ'))
        .pipe(gulp.dest(''));
});


После запуска скрипта ничего не происходит.

Вот список вопросов, которые у меня возникли:

1) Как мне перезаписывать файлы на тоже место? (это в gulp.dest?)
2) Что нужно исправить в скрипте, чтобы он работал?(если несложно, пример рабочего)
3) Какие дополнительные модули/библиотеки можно отключить в node.js и gulp? (необходима только функция сжатия картинок)
4) Как по другому можно внедрить именно tinypng API на сервер? (может быть, что-то попроще)

Мне необходимо сжать все изображения на сайте этим сервисом. То есть я хочу указать путь к каталогу с сайтом и чтобы в нем изображения (jpg и png) оптимизировались не меняя своего места (перезаписывались). Я далёк от программирования и буду рад любой помощи в решении данной задачи.
  • Вопрос задан
  • 2059 просмотров
Пригласить эксперта
Ответы на вопрос 1
Не работает потому что ты подключаешь плагин как:
var imagemin = require('gulp-tinypng');

а используешь как tingpng

Так заработает
var tingpng= require('gulp-tinypng');

gulp.task('tinypng', function () {
    gulp.src('/var/www/*.png')
    gulp.src('/var/www/*.jpg')
        .pipe(tingpng('мой_ключ'))
        .pipe(gulp.dest(''));
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы