• Как изменить таск Gulp.js (добавление gulp-changed)?

    @tory_kuzya Автор вопроса
    Егор Кашлинов, изменила на
    gulp.task('assets', function() {
        return combiner(
            gulp.src(['frontend/assets/**']),
            changed(['public']),
            gulp.dest('public')
        ).on('error', notify.onError());
    });
    
    gulp.task('img', function() {
        return combiner(
            gulp.src(['frontend/assets/img/*.*']),
            changed(['public/img']),
            gulp.dest('public/img')
        ).on('error', notify.onError());
    });


    эффекта нет...
    [Browsersync] Serving files from: public
    [Browsersync] File event [change] : public\img\Arrow L.svg
    ... 150 файлов картинок...
    [Browsersync] File event [change] : public\img\truck-bg.png
  • Как изменить таск Gulp.js (добавление gulp-changed)?

    @tory_kuzya Автор вопроса
    т.е. нужно указать путь к папке, в которую добавляются изображения:
    const changed = require('gulp-changed');
    
    gulp.task('img', function() {
        return combiner(
            gulp.src(['frontend/assets/img/*.*']),
            changed(['frontend/assets/img/*.*']),
            gulp.dest('public/img')
        ).on('error', notify.onError());
    });


    В этом случае ошибкине происходит, но копируются все изображения, а не только добавленные...

    [Browsersync] File event [change] : public\img\Truck Empty.svg
    [Browsersync] File event [change] : public\img\Truck Full.svg
    [Browsersync] File event [change] : public\img\arrow r btn.svg
    [Browsersync] File event [change] : public\img\chart.jpg
    [Browsersync] File event [change] : public\img\chart1.png
    [Browsersync] File event [change] : public\img\dark.png
    [Browsersync] File event [change] : public\img\face-manager.jpg
    [Browsersync] File event [change] : public\img\face-manager.jpg.png
    [Browsersync] File event [change] : public\img\icon Back.svg
    [Browsersync] File event [change] : public\img\icon location.svg
    [Browsersync] File event [change] : public\img\image3.jpg
    [Browsersync] File event [change] : public\img\image_down.png
    [Browsersync] File event [change] : public\img\image_part_down.png
    [Browsersync] File event [change] : public\img\image_part_up.png
    [Browsersync] File event [change] : public\img\image_up.png
    [Browsersync] File event [change] : public\img\ligth.png
    [Browsersync] File event [change] : public\img\line-dotted.png
    [Browsersync] File event [change] : public\img\striped.png
    [Browsersync] File event [change] : public\img\truck-bg.png
    [Browsersync] File event [change] : public\img\way.svg
    [Browsersync] File event [change] : public\img\Icon Paper D.svg
    [Browsersync] File event [change] : public\img\icon paper atantion.svg
    [Browsersync] File event [change] : public\img\icon paper text.svg
    [Browsersync] File event [change] : public\img\podpisss.png
  • Как сделать чтоб Gulp при добавлении 1 картинки не копировал имеющиеся уже в сборке картинки?

    @tory_kuzya Автор вопроса
    Сергей, помогите, никак не получается... Пишу так:
    const changed = require('gulp-changed');
    
    gulp.task('img', function() {
        return combiner(
            gulp.src(['frontend/assets/img/*.*']),
            changed(),
            gulp.dest('public/img')
        ).on('error', notify.onError());
    });


    Получаю ошибку:
    [15:20:43] Starting 'img'...
    [15:20:43] 'img' errored after 10 ms
    [15:20:43] Error in plugin "gulp-changed"
    Message:
        `dest` required
    Details:
        domain: [object Object]
        domainThrown: true
  • Как сделать чтоб Gulp при добавлении 1 картинки не копировал имеющиеся уже в сборке картинки?

    @tory_kuzya Автор вопроса
    Спасибо! А использование .pipe обязательно? Это применимо к моей версии Gulp? (у меня в gulpfile.js ".pipe" не встречается...)
  • Как нарисовать несколько polyline (каждая через множество точек)?

    @tory_kuzya Автор вопроса
    Да, спасибо. У меня получилось сделать в цикле. Раньше не получалось, т.к. затиралась переменная с координатами
  • Как нарисовать несколько polyline (каждая через множество точек)?

    @tory_kuzya Автор вопроса
    Это пример 1 линии. Я его видела. Как рисовать много не связанных линий? В цикле может?
  • Отправка данных (авторизация) посредством httprequest (js). Как для универсальности разбить на 3 класса?

    @tory_kuzya Автор вопроса
    Леонид Князев, в том, что не получается их связать правильно...
    Вот у меня такая штука пока:
    $(document).ready(function() {
    	$("#form").submit(function(e){
    		e.preventDefault();	
    	});
    	$("#submit").click(function(){
    		login.senduth();
    	});
    });
    
    class Http {
    
      constructor(params) {
        this.params = params;
    	this.settings = settings;
      }
    
      send(params, settings) {
    	const http = new XMLHttpRequest()
    	http.open(JSON.stringify(settings))
    	http.setRequestHeader('Content-type', 'application/json')
    	http.send(JSON.stringify(params))
    	http.onload = function() {
    		//alert(http.responseText)
    	}
      }
    }
    
    class Settings {
    	sett(params) {
    		const settings = {
    			method: 'POST',
    			url: 'login.json',
    			async: false
    		}		
    	}
    	
    	let http = new Http(params, settings);
    	http.send(params, settings);
    }
    
    class Login {
    
      senduth() {
    	const params = {
    		login: document.querySelector('#login').value,
    		password: document.querySelector('#password').value
    	}
    	
        //let http = new Http(params);
    	//http.send(params);
    	let settings = new Settings(params);
    	settings.sett(params);
      }
    
    }
    
    let login = new Login();

    Я запуталась что откуда вызывать и что куда передавать. Помогите, если знаете, как
  • Gulp + BrowserSync как оптимизировать работу Gulpfile.js?

    @tory_kuzya Автор вопроса
    Исправила таск serve :
    gulp.task('serve', function() {
        browserSync.init({
            server: 'public'
        });
    
        browserSync.watch('public/**/*.*').on('change',browserSync.reload);
    });

    Ошибка ушла

    Выполнила watch+serve
    Результат: уже нет полного копирования всех файлов. Работает быстрее.
    PS C:\openserver\domains\potokblue\public> gulp
    [16:36:11] Working directory changed to C:\openserver\domains\potokblue
    [16:36:12] Using gulpfile C:\openserver\domains\potokblue\gulpfile.js
    [16:36:12] Starting 'default'...
    [16:36:12] Starting 'watch'...
    [16:36:12] Starting 'serve'...
    [Browsersync] Access URLs:
     --------------------------------------
           Local: http://localhost:3000
        External: http://192.168.0.114:3000
     --------------------------------------
              UI: http://localhost:3001
     UI External: http://192.168.0.114:3001
     --------------------------------------
    [Browsersync] Serving files from: public
    [16:36:23] Starting 'html'...
    [Browsersync] Reloading Browsers...
    [Browsersync] Reloading Browsers...
    [Browsersync] Reloading Browsers...
    [Browsersync] Reloading Browsers...
    [16:36:24] Finished 'html' after 189 ms
    [16:36:33] Starting 'html'...
    [Browsersync] Reloading Browsers...
    [Browsersync] Reloading Browsers...
    [Browsersync] Reloading Browsers...
    [Browsersync] Reloading Browsers...
    [16:36:33] Finished 'html' after 238 ms
    [Browsersync] Reloading Browsers...


    Сама спросила, сама ответила.
  • Gulp + BrowserSync как оптимизировать работу Gulpfile.js?

    @tory_kuzya Автор вопроса
    Разбила таск assets на 3 (img, fonts, html). Запускаю каждый по отдельности, отрабатывает быстро. Но споткнулась на таске serve:
    PS C:\openserver\domains\potokblue> gulp serve
    [16:32:30] Using gulpfile C:\openserver\domains\potokblue\gulpfile.js
    [16:32:30] Starting 'serve'...
    [16:32:30] 'serve' errored after 17 ms
    [16:32:30] TypeError: "listener" argument must be a function
        at _addListener (events.js:216:11)
        at FSWatcher.addListener (events.js:276:10)
        at C:\openserver\domains\potokblue\gulpfile.js:123:40
        at taskWrapper (C:\openserver\domains\node_modules\undertaker\lib\set-task.js:13:15)
        at bound (domain.js:280:14)
        at runBound (domain.js:293:12)
        at asyncRunner (C:\openserver\domains\node_modules\async-done\index.js:36:18)
        at _combinedTickCallback (internal/process/next_tick.js:73:7)
        at process._tickCallback (internal/process/next_tick.js:104:9)
        at Module.runMain (module.js:606:11)
  • Не работает Gulp?

    @tory_kuzya Автор вопроса
    Помогло избавиться от текущей проблемы:
    npm i -g gulp-cli
    Но запущенный таск выдал следующее:
    gulp dev
    [16:04:35] Using gulpfile ~\Downloads\OpenServer\domains\potokblue\gulpfile.js
    [16:04:35] Starting 'dev'...
    [16:04:35] Starting 'build'...
    [16:04:35] Starting 'clean'...
    [16:04:35] Finished 'clean' after 69 ms
    [16:04:35] Starting 'styles'...
    [16:04:35] Starting 'librarys'...
    [16:04:35] Starting 'assets'...
    [16:04:35] Starting 'scripts'...
    [16:04:35] gulp-notify: [Error running Gulp] File not found with singular glob: C:\Users\КузяАсер\Downloads\OpenServer\domains\potokblue\frontend\styles\main2.css
    [16:04:36] assets frontend\assets
    [16:04:36] assets frontend\assets\fonts
    [16:04:36] assets frontend\assets\img
    [16:04:37] assets frontend\assets\index.html
    [16:04:37] assets frontend\assets\js
    [16:04:37] assets frontend\assets\fonts\font-awesome
    [16:04:45] assets frontend\assets\js\gnmenu.js
    [16:04:45] assets frontend\assets\js\lib
    [16:04:45] assets frontend\assets\fonts\font-awesome\css
    [16:04:45] assets frontend\assets\fonts\font-awesome\fonts
    [16:04:45] assets frontend\assets\fonts\font-awesome\HELP-US-OUT.txt
    [16:04:45] assets frontend\assets\fonts\font-awesome\less
    [16:04:45] assets frontend\assets\fonts\font-awesome\scss
    [16:04:45] assets frontend\assets\js\lib\bootstrap.min.js
    [16:04:45] assets frontend\assets\js\lib\jquery-1.12.4.min.js
    [16:04:45] assets frontend\assets\fonts\font-awesome\fonts\fontawesome-webfont.eot
    [16:04:45] assets frontend\assets\fonts\font-awesome\fonts\fontawesome-webfont.svg
    [16:04:45] assets frontend\assets\fonts\font-awesome\fonts\fontawesome-webfont.ttf
    [16:04:45] assets frontend\assets\fonts\font-awesome\fonts\fontawesome-webfont.woff
    [16:04:45] assets frontend\assets\fonts\font-awesome\fonts\fontawesome-webfont.woff2
    [16:04:45] assets frontend\assets\fonts\font-awesome\fonts\FontAwesome.otf
    [16:04:45] assets frontend\assets\fonts\font-awesome\css\font-awesome.css
    [16:04:45] assets frontend\assets\fonts\font-awesome\css\font-awesome.min.css
    [16:04:45] assets frontend\assets\fonts\font-awesome\less\animated.less
    [16:04:45] assets frontend\assets\fonts\font-awesome\less\bordered-pulled.less
    [16:04:45] assets frontend\assets\fonts\font-awesome\less\core.less
    [16:04:45] assets frontend\assets\fonts\font-awesome\less\fixed-width.less
    [16:04:45] assets frontend\assets\fonts\font-awesome\less\font-awesome.less
    [16:04:45] assets frontend\assets\fonts\font-awesome\less\icons.less
    [16:04:45] assets frontend\assets\fonts\font-awesome\less\larger.less
    [16:04:45] assets frontend\assets\fonts\font-awesome\less\list.less
    [16:04:45] assets frontend\assets\fonts\font-awesome\less\mixins.less
    [16:04:45] assets frontend\assets\fonts\font-awesome\less\path.less
    [16:04:45] assets frontend\assets\fonts\font-awesome\less\rotated-flipped.less
    [16:04:45] assets frontend\assets\fonts\font-awesome\less\screen-reader.less
    [16:04:45] assets frontend\assets\fonts\font-awesome\less\stacked.less
    [16:04:45] assets frontend\assets\fonts\font-awesome\less\variables.less
    [16:04:45] assets frontend\assets\fonts\font-awesome\scss\font-awesome.scss
    [16:04:45] assets frontend\assets\fonts\font-awesome\scss\_animated.scss
    [16:04:45] assets frontend\assets\fonts\font-awesome\scss\_bordered-pulled.scss
    [16:04:45] assets frontend\assets\fonts\font-awesome\scss\_core.scss
    [16:04:45] assets frontend\assets\fonts\font-awesome\scss\_fixed-width.scss
    [16:04:45] assets frontend\assets\fonts\font-awesome\scss\_icons.scss
    [16:04:45] assets frontend\assets\fonts\font-awesome\scss\_larger.scss
    [16:04:45] assets frontend\assets\fonts\font-awesome\scss\_list.scss
    [16:04:45] assets frontend\assets\fonts\font-awesome\scss\_mixins.scss
    [16:04:45] assets frontend\assets\fonts\font-awesome\scss\_path.scss
    [16:04:45] assets frontend\assets\fonts\font-awesome\scss\_rotated-flipped.scss
    [16:04:45] assets frontend\assets\fonts\font-awesome\scss\_screen-reader.scss
    [16:04:45] assets frontend\assets\fonts\font-awesome\scss\_stacked.scss
    [16:04:45] assets frontend\assets\fonts\font-awesome\scss\_variables.scss
    [16:04:45] assets 98 items
    [16:04:45] Finished 'assets' after 10 s
    [16:04:45] The following tasks did not complete: dev, build, <parallel>, styles
    [16:04:45] Did you forget to signal async completion?
  • Yii1 Не работает serrialize() формы, почему?

    @tory_kuzya Автор вопроса
    Cage: в Консоли выдает синтаксическую ошибку
  • Yii1 Не работает serrialize() формы, почему?

    @tory_kuzya Автор вопроса
    так, к сожалению не работает...
  • Gulp командная строка не работает после выполнения команды gulp?

    @tory_kuzya Автор вопроса
    Спасибо, помогло! Только я не поняла, какую команду мне использовать в период написания, добавления, изменения файлов, чтоб gulp это своевременно копировал в готовый проект? gulp build? А то, что у меня написано - для чего используется? Простите чайника
  • Gulp командная строка не работает после выполнения команды gulp?

    @tory_kuzya Автор вопроса
    sim3x:
    C:\OpenServer\domains\localhost\projectgulp>gulp
    [16:54:39] Using gulpfile C:\OpenServer\domains\localhost\projectgulp\gulpfile.js
    [16:54:39] Starting 'browser-sync'...
    [16:54:39] Finished 'browser-sync' after 172 ms
    [16:54:39] Starting 'less'...
    [16:54:39] Starting 'scripts'...
    [BS] 1 file changed (style.css)
    [16:54:40] Finished 'less' after 1.05 s
    [16:54:40] Starting 'css-libs'...
    [16:54:40] Finished 'css-libs' after 1.89 ms
    [16:54:40] Finished 'scripts' after 1.05 s
    [16:54:40] Starting 'watch'...
    [16:54:40] Finished 'watch' after 11 ms
    [16:54:40] Starting 'default'...
    [16:54:40] Finished 'default' after 1.39 μs
    [BS] Access URLs:
     --------------------------------------
           Local: http://localhost:3000
        External: http://192.168.0.103:3000
     --------------------------------------
              UI: http://localhost:3001
     UI External: http://192.168.0.103:3001
     --------------------------------------
    [BS] Serving files from: app
  • Gulp командная строка не работает после выполнения команды gulp?

    @tory_kuzya Автор вопроса
    gulpfile.js
    var gulp       = require('gulp'), // Подключаем Gulp
        less         = require('gulp-less'), //Подключаем less пакет,
        browserSync  = require('browser-sync'), // Подключаем Browser Sync
        concat       = require('gulp-concat'), // Подключаем gulp-concat (для конкатенации файлов)
        uglify       = require('gulp-uglifyjs'), // Подключаем gulp-uglifyjs (для сжатия JS)
        cssnano      = require('gulp-cssnano'), // Подключаем пакет для минификации CSS
        rename       = require('gulp-rename'), // Подключаем библиотеку для переименования файлов
        del          = require('del'), // Подключаем библиотеку для удаления файлов и папок
        imagemin     = require('gulp-imagemin'), // Подключаем библиотеку для работы с изображениями
    //  pngquant     = require('imagemin-pngquant'), // Подключаем библиотеку для работы с png
    // cache        = require('gulp-cache'), // Подключаем библиотеку кеширования
        autoprefixer = require('gulp-autoprefixer');// Подключаем библиотеку для автоматического добавления префиксов           npm install gulp-uglifyjs --save-dev
    
    var csso = require('gulp-csso'),
        rigger = require('gulp-rigger');    //плагин позволяет хранить статичные части сайта, такие как header, footer, aside
    gulp.task('less', function(){ // Создаем таск Less
        return gulp.src('app/less/**/*.less') // Берем источник
            .pipe(less()) // Преобразуем Less в CSS посредством gulp-less
            .pipe(autoprefixer(['last 15 versions', '> 1%', 'ie 8', 'ie 7'], { cascade: true })) // Создаем префиксы
            .pipe(gulp.dest('app/css')) // Выгружаем результата в папку app/css
            .pipe(browserSync.reload({stream: true})) // Обновляем CSS на странице при изменении
    });
    
    gulp.task('browser-sync', function() { // Создаем таск browser-sync
        browserSync({ // Выполняем browserSync
            server: { // Определяем параметры сервера
                baseDir: 'app' // Директория для сервера - app
            },
            notify: false // Отключаем уведомления
        });
    });
    
    gulp.task('scripts', function() {
        return gulp.src([ // Берем все необходимые библиотеки
            'app/libs/jquery/jquery-3.2.1.min.js'//, // Берем jQuery
           // 'app/libs/magnific-popup/dist/jquery.magnific-popup.min.js' // Берем Magnific Popup
        ])
            .pipe(concat('libs.min.js')) // Собираем их в кучу в новом файле libs.min.js
            .pipe(uglify()) // Сжимаем JS файл
            .pipe(gulp.dest('app/js')); // Выгружаем в папку app/js
    });
    
    gulp.task('css-libs', ['less'], function() {
        return gulp.src('app/css/libs.css') // Выбираем файл для минификации
            .pipe(cssnano()) // Сжимаем
            .pipe(rename({suffix: '.min'})) // Добавляем суффикс .min
            .pipe(gulp.dest('app/css')); // Выгружаем в папку app/css
    });
    
    gulp.task('watch', ['browser-sync', 'css-libs', 'scripts'], function() {
        gulp.watch('app/less/**/*.less', ['less']); // Наблюдение за less файлами в папке less
        gulp.watch('app/*.html', browserSync.reload); // Наблюдение за HTML файлами в корне проекта
        gulp.watch('app/js/**/*.js', browserSync.reload);   // Наблюдение за JS файлами в папке js
    });
    
    /*gulp.task('clean', function() {
        return del.sync('dist'); // Удаляем папку dist перед сборкой
    });*/
    
    gulp.task('img', function() {
        return gulp.src('app/img/**/*') // Берем все изображения из app
            .pipe(cache(imagemin({  // Сжимаем их с наилучшими настройками с учетом кеширования
                interlaced: true,
                progressive: true,
                svgoPlugins: [{removeViewBox: false}],
                use: [pngquant()]
            })))
            .pipe(gulp.dest('dist/img')); // Выгружаем на продакшен
    });
    
    gulp.task('build', [/*'clean',*/ 'img', 'less', 'scripts'], function() {
    
        var buildCss = gulp.src([ // Переносим библиотеки в продакшен
            'app/css/main.css',
            'app/css/libs.min.css'
        ])
            .pipe(gulp.dest('dist/css'))
    
        var buildFonts = gulp.src('app/fonts/**/*') // Переносим шрифты в продакшен
            .pipe(gulp.dest('dist/fonts'))
    
        var buildJs = gulp.src('app/js/**/*') // Переносим скрипты в продакшен
            .pipe(gulp.dest('dist/js'))
    
        var buildHtml = gulp.src('app/*.html') // Переносим HTML в продакшен
            .pipe(gulp.dest('dist'));
    
    });
    
    gulp.task('clear', function (callback) {
        return cache.clearAll();
    })
    
    gulp.task('default', ['watch']);

    package.json
    {
      "name": "projectgulp",
      "version": "1.0.0",
      "main": "index.js",
      "dependencies": {
        "browser-sync": "^2.18.12",
        "del": "^3.0.0",
        "gulp": "^3.9.1",
        "gulp-autoprefixer": "^4.0.0",
        "gulp-concat": "^2.6.1",
        "gulp-cssnano": "^2.1.2",
        "gulp-exit": "^0.0.2",
        "gulp-grep": "^0.2.0",
        "gulp-html-replace": "^1.6.2",
        "gulp-imagemin": "^3.3.0",
        "gulp-jsonminify": "^1.0.0",
        "gulp-less": "^3.3.2",
        "gulp-minify-css": "^1.2.4",
        "gulp-ng-annotate": "^2.0.0",
        "gulp-order": "^1.1.1",
        "gulp-protractor": "^4.1.0",
        "gulp-sourcemaps": "^2.6.0",
        "gulp-uglifyjs": "^0.6.2",
        "gulp-uglify": "^3.0.0",
        "gulp-using": "^0.1.1",
        "karma": "^1.7.0",
        "merge-stream": "^1.0.1"
      },
      "devDependencies": {
        "gulp": "^3.9.1",
        "gulp-connect": "^5.0.0",
        "gulp-csso": "^3.0.0",
        "gulp-jshint": "^2.0.4",
        "gulp-plumber": "^1.1.0",
        "gulp-rigger": "^0.5.8",
        "gulp-spritesmith": "0.0.2",
        "gulp-watch": "^4.3.11"
      },
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "repository": {
        "type": "git",
        "url": "git+https://github.com/.."
      },
      "author": "...",
      "license": "ISC",
      "bugs": {
        "url": "https://github.com/.."
      },
      "homepage": "https://github.com/...",
      "description": ""
    }

    index.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        //= include/header.html
    
        <section class="content">
            Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Которой над взобравшись дорогу рыбными свой деревни, парадигматическая она сбить даль щеке! Прямо мир агенство о предложения буквенных реторический это.
    
            <p><img src="img/1.jpg" alt="Alt"></p>
            <p><img src="img/2.jpg" alt="Alt"></p>
            <p><img src="img/3.jpg" alt="Alt"></p>
        </section>
    
        //= include/footer.html
    
        <script src="js/libs.min.js"></script>
    
    </body>
    </html>