При создании веб-сайта я использовал ссылки на все мои сценарии индивидуально, и все работало нормально. Теперь я учусь использовать глоток и заметил, что после того, как я конкатенирую свои JS-файлы, некоторые скрипты перестают работать (опять же, все они работают при загрузке по отдельности).Сценарии перестают работать после gulp concat
Единственное, что я нашел в сети, это то, что мне может понадобиться конкатенация файлов в определенном порядке. Я попытался изменить порядок в задаче gulpfile.js безрезультатно. Я попытался удалить файлы один за другим в задаче gulpfile.js безрезультатно.
Кроме того, я сохраняю Modernizr и JQuery всегда в заголовке и загружаюсь отдельно (они НЕ объединены с другими), в то время как конкатенированный JS-файл находится в нижнем колонтитуле, поэтому загружается после.
HTML файл выглядит примерно так:
<!DOCTYPE html>
<html>
<head>
<meta ...>
<link...>
<script src="https://code.jquery.com/jquery-3.1.0.min.js"></script>
<script src="https://code.jquery.com/jquery-migrate-3.0.0.min.js"></script>
<script src="assets/scripts/modernizr.js"></script>
<title>Some Title</title>
</head>
<body>
WEBSITE CONTENT
<script src="assets/scripts/scripts.min.js"></script> /*Concatenated file*/
</body>
</html>
Моего глоток задача (gulpfile.js) выглядит следующим образом (я отделил скрипты для конкатенации в массиве, так вы, ребята, можете увидеть файлы):
gulp.task('js', function(){
return gulp.src([
'assets/scripts/base/bootstrap.js',
'assets/scripts/base/retina.js',
'assets/scripts/base/smoothscroll.js',
'assets/scripts/base/waypoints.js',
'assets/scripts/base/wow.js',
'assets/scripts/plugins/bootstrap.filestyle.js',
'assets/scripts/plugins/jquery.counterup.js',
'assets/scripts/plugins/jquery.matchHeight.js',
'assets/scripts/plugins/lightcase.js',
'assets/scripts/plugins/slick.js',
'assets/scripts/plugins/global.js'
])
.pipe(plumber({
errorHandler: function (error) {
console.log(error.message);
this.emit('end');
}}))
.pipe(concat('scripts.js'))
.pipe(babel())
.pipe(gulp.dest('assets/scripts/'))
.pipe(rename({suffix: '.min'}))
.pipe(uglify())
.pipe(gulp.dest('assets/scripts/'))
.pipe(browserSync.reload({stream:true}))
});
в настоящем время, сценарии, которые я заметил перестали работать, был lighcase.js (лайтбокс), jquery.matchHeight.js (соответствие высоты колонны) и slick.js (слайдер).
Редактировать: ошибок на моей консоли нет. Только сообщение «JQMIGRATE: Migrate установлено, версия 3.0.0».
Любая помощь будет оценена по достоинству. Через неделю, пытаясь найти логику этой проблемы, я отказываюсь от LOL. Помогите noob!
Итак, они молча «перестают работать»? Или могут возникнуть ошибки в консоли? – zerkms
Единственное сообщение, которое у меня есть на моей консоли: JQMIGRATE: Migrate установлен, версия 3.0.0. Но никаких красных предупреждений об ошибках. – user3163410
Ну, убедитесь, что ваш скрипт даже загружен. Затем установите точку останова в точке входа и т. Д. – matmo