Простое объединение файлов js привело к ошибкам и неопределенности jquery - PullRequest
2 голосов
/ 17 марта 2011

Я имею здесь дело с чистым js-интерфейсом и сегодня пытался использовать Соковыжималку для сжатия JavaScript.Он работал хорошо, без минимизации, поскольку в библиотеках, которые я использую, было найдено множество ошибок, найденных JsLint, валидатор которых необходимо передать, чтобы минимизировать файлы.Я оставил все как есть, потому что было бы здорово, чтобы хотя бы слияние работало, но, похоже, это не так.Хотя в конечном итоге все файлы действительно были объединены в одно, приложение перестало работать, поскольку jquery считается неопределенным.В этом файле все же стоит на первом месте.

В чем может быть причина такого странного поведения?Заранее большое спасибо за ваш ответ!

UPD Вот ссылка на объединенный файл

1 Ответ

6 голосов
/ 17 марта 2011

Поскольку вы хотите только объединить их, а не минимизировать их, возможно, попробуйте объединить их вручную.Это просто:

cat file1.js file2.js file3.js > all.js

То же самое для CSS, никакого необычного слияния не требуется.

Для минимизации JavaScript я рекомендую UglifyJS , поскольку он не нарушает кодв отличие от некоторых других инструментов.UglifyJS используется jQuery.

Когда вы объединяете файлы JavaScript с помощью простой конкатенации, важен порядок файлов, чтобы не нарушать зависимости.Еще одна вещь, которая иногда вызывает проблемы, - это отсутствие точек с запятой (которые могут нарушать код после минимизации) или пропущенные символы новой строки в конце файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...