2010-03-19 2 views
0

Я хочу включить миниатюру javascript-библиотеку (например, http://sizzlejs.com/) в мою собственную неминифицированную библиотеку javascript. Причина в том, что моя библиотека подключается к другим сайтам, и я не хочу просить их включить дополнительную библиотеку (шипение).Включая мини-код js в другой библиотеке js

Есть ли способ включить мини-библиотеку в неминифицированную библиотеку и иметь их оба в одном файле js?

+1

Вы можете обрабатывать любой миниатюрный файл как обычный файл js. Его единственный недостаток в названиях и очистке пробелов –

+0

Как процесс минимизации знает, какие имена безопасны для сокращения? Он никогда не сокращает имена функций? –

+1

Он никогда не сокращает «выставленные» имена - только внутренние и закрывающие переменные, которые никогда не являются «общедоступными». Он может сокращать имена функций, но только те, которые являются частными методами, которые не видны за пределами их закрытия. – Graza

ответ

0

Простейшим подходом было бы просто скопировать и вставить код из мини-библиотеки непосредственно в верхнюю часть вашего файла.

1

Вы можете просто скопировать код sizzle в свой собственный код. То есть, в верхней или нижней части вашего js-файла. Вот как jQuery включает в себя шипение в своем коде.

Или вы можете динамически добавить элемент тега сценария в «голову» документа в своей собственной библиотеке, в которой src установлен в файл с миниатюрным размером (посмотрите, как jQuery включает скрипты в его подпрограммах AJAX для примера).

Если вы включили динамически, вы можете обнаружить, что это на самом деле быстрее, поскольку вы, вероятно, можете ссылаться на sizzle с серверов google, и пользователь вполне может его уже кэшировать в своем браузере (jQuery на самом деле рекомендует включить свою собственную библиотеку в таким образом)

+0

Чтобы уточнить, что говорит Граза, вы помещаете код в свою собственную библиотеку, которая при загрузке изменяет заголовок документа, в который загружается и добавляет новый тег скрипта, который ссылается на стороннюю библиотеку. Таким образом, фактический HTML-файл имеет только один импорт javascript, но импортируемый файл динамически добавляет дополнительный импорт. – morgancodes

Смежные вопросы