1

Тема: gulp під ubuntu

Шановні, хто-небудь пробував налаштовувати gulp під ubuntu? Ніяких підводних каменів не виникало?
Бо в мене воно щось зовсім ніяк не працює... ні результату, ні якихось повідомлень про помилки...

Порядок дій, які я робив:

apt-get install nodejs node npm

потім я спочатку спробував без рута зробити оце:

npm install gulp-cli -g
npm install gulp -D

Це з їхнього сайту. Чи були якісь повідомлення про помилки не знаю, бо перший раз я спробував це робити через puppet, а вже коли побачив, що ніхрена не працює почав ковиряти вручну, тож наступну спробу я вже робив під рутом... було багато всяких повідомлень і все як наче відпрацювало, принаймні воно не закінчилося якимось критичним повідомленням про помилку. В результаті я отримав у /usr/local/bin дуже дивний сімлінк gulp на ../lib/node_modules/gulp-cli/bin/gulpl.js наступного змісту:

#!/usr/bin/env node

'use strict';

require('../')();

Це так і повинно бути? Мені цей файл видається якимось дивним.

Далі я в домашньому каталогу створив підкаталог js і в ньому gulpfile.js наступного змісту:

console.log('start');
var gulp = require('gulp');
var jshint = require('gulp-jshint');
var concat = require('gulp-concat');
var rename = require('gulp-rename');
var uglify = require('gulp-uglify');

gulp.task('lint', function () {
  gulp.src('./*.js')
    .pipe(jshint())
    .pipe(jshint.reporter('default'));
});

gulp.task('concat', function () {
    gulp.src('./*.js')
        .pipe(concat('test.js'))
        .pipe(gulp.dest('dist'));
});

gulp.task('minify', function () {
    gulp.src('./*.js')
        .pipe(concat('test.js'))
        .pipe(gulp.dest('dist'))
        .pipe(rename({suffix: '.min'}))
        .pipe(uglify())
        .pipe(gulp.dest('dist'));
});

gulp.task('clean', function () {
    return gulp.src(['dist'], {read: false})
        .pipe(clean());
});

gulp.task('default', ['clean'], function () {
    gulp.run('lint', 'concat');

    gulp.watch('./*.js', function (event) {
        gulp.run('lint', 'concat');
    }
});

gulp.task('build', ['clean'], function () {
    gulp.run('lint', 'minify');

    gulp.watch('./*.js', function (even) {
        gulp.run('lint', 'minify');
    }
});

Створив пару файлів test1.js і test2.js та спробував запустити спочатку gulp lint, потім просто gulp, також пробував gulp concant. Все це не дало за великим рахунком аж нічого. Як я вже писав, ніяких повідомлень про помилки, ніяких результатів. Чи може хтось запропонувати ідеї, що я міг зробити не так? :)

2

Re: gulp під ubuntu

Бачу якось не дуже тут спіціялістів з gulp... Ну, тож буду першим ;)
Коротше, треба було робить так:

sudo apt-get install nodejs nodejs-legacy npm

sudo npm install gulp-cli -g
sudo npm install jshint gulp-jshint -g
sudo npm install gulp-concat -g
sudo npm install gulp-rename -g
sudo npm install gulp-uglify -g
sudo npm install gulp-autoprefixer -g
sudo npm install gulp-watch -g
// і так далі для всих потрібних плагінів

npm install gulp -D // це вже в папці проекту
npm link gulp
npm link gulp-jshint
npm link gulp-concat
npm link gulp-rename
npm link gulp-uglify
npm link gulp-autoprefixer
npm link gulp-watch
// для всі плагінів, що були встановлені і потрібні в проекті

Не те, щоб я ото робив не під рутом перед цим, просто я повставляв sudo, щоб акцентувати на цьому увагу... От після цього воно якось почало шевелитися, хоча це ще не останні граблі, на які я наступив... буде час, буду далі ковиряти... по пів кроку в тиждень, дивись до кінця життя, щось і зроблю :D