Добрый день всем!
Ребята помогите пожалуйста разобраться, в чем может быть проблема?
Не работает ватчер, не видит функцию startHtml ( хотя сама отдельно отрабатывает норм ),пишет ошибку:
[10:38:08] Starting 'watchFiles'...
[10:38:08] 'watchFiles' errored after 3.18 ms
[10:38:08] ReferenceError: startHtml is not defined
npm -v - 6.14.5
node -v - v14.3.0
gulp -v - CLI version: 2.2.1 Local version: 4.0.2
gulpfile.js выглядит так
'use strict';
var gulp = require('gulp'),
prefixer = require('gulp-autoprefixer'),
rename = require('gulp-rename'),
rigger = require('gulp-rigger'),
sass = require('gulp-sass'),
uglify = require('gulp-uglify'),
sourcemaps = require('gulp-sourcemaps'),
terser = require('gulp-terser'),
nodesass = require('node-sass'),
browserSync = require('browser-sync'),
imagemin = require('gulp-imagemin'),
del = require('delete'),
reload = browserSync.reload,
watch = require('watch');
const { series, parallel } = require('gulp');
var path = {
build: { //Тут мы укажем куда складывать готовые после сборки файлы
html: 'build/',
js: 'build/js/',
css: 'build/css/',
img: 'build/img/',
fonts: 'build/fonts/'
},
src: { //Пути откуда брать исходники
html: 'src/*.html', //Синтаксис src/*.html говорит gulp что мы хотим взять все файлы с расширением .html
js: 'src/js/main.js',//В стилях и скриптах нам понадобятся только main файлы
style: 'src/sass/main.sass',
img: 'src/img/**/*.*', //Синтаксис img/**/*.* означает - взять все файлы всех расширений из папки и из вложенных каталогов
fonts: 'src/fonts/**/*.*'
},
watch: { //Тут мы укажем, за изменением каких файлов мы хотим наблюдать
html: 'src/**/*.html',
js: 'src/js/**/*.js',
style: 'src/sass/**/*.sass',
img: 'src/img/**/*.*',
fonts: 'src/fonts/**/*.*'
},
clean: './build'
};
// Собираем html
exports.startHtml = function (cb) {
return gulp.src('src/*.html')
.pipe(rigger()) //Прогоним через rigger
.pipe(gulp.dest(path.build.html)) //Выплюнем их в папку build
.pipe(reload({stream: true})); //И перезагрузим наш сервер для обновлений
cb();
};
// Изменение файлов
exports.watchFiles = function () {
watch('./src/**/*.html', startHtml);
cb();
}
package.json выглядит так:
{
"name": "gulp-frontend",
"version": "1.0.0",
"description": "",
"main": "gulpfile.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "aithor",
"license": "ISC",
"devDependencies": {
"browser-sync": "^2.26.7",
"delete": "^1.1.0",
"gulp": "^4.0.2",
"gulp-autoprefixer": "^7.0.1",
"gulp-cli": "^2.2.1",
"gulp-imagemin": "^7.1.0",
"gulp-rename": "^2.0.0",
"gulp-rigger": "^0.5.8",
"gulp-sass": "^4.1.0",
"gulp-sourcemaps": "^2.6.5",
"gulp-terser": "^1.2.0",
"gulp-uglify": "^3.0.2",
"node-sass": "^4.14.1",
"watch": "^1.0.2"
}
}