Объединение JS и ошибки

#1913 от 13:40
kreator
Был
Администраторы
Разработчики
134 темы
788 сообщений
Рейтинг: 324
Репутация: 8
На сайте 11 месяцев

Прошу кто в теме отпишитесь почему и как, и вы сэкономите мне много времени на путешествие по сайту гугл.

При объединении файлов js скрипты встроенные в html страницы не работают (не все).

В частности вижу такие ошибки:

Как лучше в этом случае действовать?

maxisoft
Был
Разработчики
8 тем
81 сообщение
Рейтинг: 37
Репутация: 2
На сайте 10 месяцев

проблема в некорректной склейке какого-то файла, не всегда правильно будет просто собрать все в кучу и сделать удаление пробелов. Тут проблема более глобальная если ты про функции минификации js в системе.

Редактировалось 1 раз, последний: 12:43
myinstantcms.ru — Все для instantcms.ru instantapi.ru — API сервисы для instantcms.ru vpshoster.ru/?from=7645 — Дешевый и надежный хостинг для сайтов.
Автор: kreator
kreator
Был
Администраторы
Разработчики
134 темы
788 сообщений
Рейтинг: 324
Репутация: 8
На сайте 11 месяцев
Цитата: maxisoft
Тут проблема более глобальная

Т.e. это может и не я криворукий? Где копать? Или не решается с нашим «объединителем»?

maxisoft
Был
Разработчики
8 тем
81 сообщение
Рейтинг: 37
Репутация: 2
На сайте 10 месяцев

я не смог побороть так как нужно проверять все скрипты чтобы они были правильно оформлены. заменил на строннюю библиотеку для минимизации js и css

myinstantcms.ru — Все для instantcms.ru instantapi.ru — API сервисы для instantcms.ru vpshoster.ru/?from=7645 — Дешевый и надежный хостинг для сайтов.
Автор: kreator
kreator
Был
Администраторы
Разработчики
134 темы
788 сообщений
Рейтинг: 324
Репутация: 8
На сайте 11 месяцев
Цитата: maxisoft
я не смог побороть так как нужно проверять все скрипты чтобы они были

Получается если не прибегать к сторонним скриптам остается лишь не использовать объединение штатно?

maxisoft
Был
Разработчики
8 тем
81 сообщение
Рейтинг: 37
Репутация: 2
На сайте 10 месяцев

как вариант если виноват файл системы просто его поправить для штатного минификатора.

myinstantcms.ru — Все для instantcms.ru instantapi.ru — API сервисы для instantcms.ru vpshoster.ru/?from=7645 — Дешевый и надежный хостинг для сайтов.
Автор: kreator
kreator
Был
Администраторы
Разработчики
134 темы
788 сообщений
Рейтинг: 324
Репутация: 8
На сайте 11 месяцев

Получается если файлы объединены то к ним нельзя обратиться со страницы типа icms.modal.open(....); или $(function(){....});

maxisoft
Был
Разработчики
8 тем
81 сообщение
Рейтинг: 37
Репутация: 2
На сайте 10 месяцев

можно к ним обратится проблема в другом что твои файл минифицированный не загружен браузером так как в нем есть ошибка разбора :) первая ошибка говорит что ошибка токена, где-то * попала не туда куда нужно, дальше уже ругается инлайн скрипт, потому как у тебя не загружена jquery (т.к. она в мини файле — который не принят браузером) 

myinstantcms.ru — Все для instantcms.ru instantapi.ru — API сервисы для instantcms.ru vpshoster.ru/?from=7645 — Дешевый и надежный хостинг для сайтов.
maxisoft
Был
Разработчики
8 тем
81 сообщение
Рейтинг: 37
Репутация: 2
На сайте 10 месяцев

можешь скинуть свой js минифицированый посмотрю в чем может быть ошибка

myinstantcms.ru — Все для instantcms.ru instantapi.ru — API сервисы для instantcms.ru vpshoster.ru/?from=7645 — Дешевый и надежный хостинг для сайтов.
Автор: kreator
kreator
Был
Администраторы
Разработчики
134 темы
788 сообщений
Рейтинг: 324
Репутация: 8
На сайте 11 месяцев
Цитата: maxisoft
твои файл минифицированный не загружен браузером так как в нем есть ошибка разбора :) первая ошибка говорит что ошибка токена, где-то * попала не туда куда нужно

Бинго! И это правильная подсказка. Ошибку выдал файл скрипта noty.js Убрал его из минификации и все штатно заработало.

p.s. я почему то как наивный подумал что если в файле нет ошибок то и при минификации тоже не будет.

Автор: kreator
kreator
Был
Администраторы
Разработчики
134 темы
788 сообщений
Рейтинг: 324
Репутация: 8
На сайте 11 месяцев
Цитата: maxisoft
где-то * попала не туда куда нужно

Безобидный блок в js типа

/* Бла бла бла
* Бла бла бла
* Бла бла бла */

При минификации разложился в кучу ошибок. Оттуда и * высветилось.

Денис Васильевич
Был
Разработчики
6 тем
30 сообщений
Рейтинг: 27
Репутация: 2
На сайте 10 месяцев

У меня был случай, когда виной тому были комментирования между строк или в строке 
Например так http://joxi.ru/DrlXW0EivX7Pwr
При объединении всё это мешается в кашу и код ломает. 

Редактировалось 1 раз, последний: 14:57
goodmade.ru — веб услуги и дополнения
maxisoft
Был
Разработчики
8 тем
81 сообщение
Рейтинг: 37
Репутация: 2
На сайте 10 месяцев

посмотрите код минификатора и поимете что 2 регплейсами нельзя сделать рабочий минификатор который будет учитывать кучу вариантов комментирования а также нужно еще учесть правильную склейку файлов чтобы функци были обернуты и добавлены; в начале вызова функции в разных файлах.

myinstantcms.ru — Все для instantcms.ru instantapi.ru — API сервисы для instantcms.ru vpshoster.ru/?from=7645 — Дешевый и надежный хостинг для сайтов.
vikont
Был
За помощь админу
8 тем
318 сообщений
Рейтинг: 31
Репутация: 2
На сайте 10 месяцев
Цитата: kreator
Получается если не прибегать к сторонним скриптам остается лишь не использовать объединение штатно?

Недавно Fuze, одному из любителей объединять, написал прямо, чтобы он не делал бесполезной вещи. Короче не рекомендовал...

Редактировалось 1 раз, последний: 16:37
Автор: kreator
kreator
Был
Администраторы
Разработчики
134 темы
788 сообщений
Рейтинг: 324
Репутация: 8
На сайте 11 месяцев
Цитата: vikont
Короче не рекомендовал...

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

maxisoft
Был
Разработчики
8 тем
81 сообщение
Рейтинг: 37
Репутация: 2
На сайте 10 месяцев
Цитата: vikont
Недавно Fuze, одному из любителей объединять, написал прямо, чтобы он не делал бесполезной вещи. Короче не рекомендовал...

Игорь тут не совсем прав, если у вас конечно на сервере стоит http2 или у вас CDN доставка статики, то да можете и не сжимать, но лучше всего иметь минимизированный файл стилей и js так как он грузиться один  за 1 запрос. Для справки делал недавно оптимизацию скорость загрузки сайта, мобильная версия показывала примерно 26 пунктов, при этом грузилось порядка 13 файлов стилей и 18 файлов скриптов, заменил штатный минифатор получил показатели порядка 78 пунктов.

myinstantcms.ru — Все для instantcms.ru instantapi.ru — API сервисы для instantcms.ru vpshoster.ru/?from=7645 — Дешевый и надежный хостинг для сайтов.

Отвечать в темах могут только зарегистрированные пользователи. Вход Регистрация.

Бесплатнометр

Хотите поддержать выход и поддержку бесплатных дополнений для InstantCMS?
Не знаете как разобраться в настройках InstantCMS? Задайте вопрос на форуме.
InstantCMS (c) 2018 | Template create on SiteKreator addon