Пользовательский интерфейс JQUERY: ссылка для получения ВСЕГДА самой последней версии "jquery-ui.min.js" - PullRequest
0 голосов
/ 21 января 2019

Доброе утро всем.

Я знаю, что всем вам не нравится этот вопрос, так как это плохое поведение программного обеспечения для проектирования, которое может создавать общие нарушения в функциональности. Но сейчас я просто проектирую PoC, и мне нужно всегда запускать его с последней версией очень распространенных библиотек третьей части.

Поскольку я могу перейти на сайт jQuery Github и, используя jsDelivr + SRIHash , я могу предоставить своему коду самую последнюю версию jquery (или любую другую библиотеку, которая использует на него "включительно" JS).

Итак, это:

https://raw.githubusercontent.com/jquery/jquery-dist/master/dist/jquery.min.js

становится таким:

https://cdn.jsdelivr.net/gh/jquery/jquery-dist/dist/jquery.min.js

и наконец:

<script src="https://cdn.jsdelivr.net/gh/jquery/jquery-dist/dist/jquery.min.js" integrity="sha384-tsQFqpEReu7ZLhBV2VZlAu7zcOV+rXbYlF2cqB8txI/8aZajjp4Bqd+V6D5IgvKT" crossorigin="anonymous"></script>

Upper LINK всегда будет предоставлять самую последнюю версию Jquery. В любой момент версия не указана.

Итак, как уже было сказано, это применимо для любого типа JS, который поддерживает общее имя библиотеки в некоторой папке и получает свое собственное управление версиями над собой, а не в некоторых подпапках версий. Это ТОЧНО проблема, с которой сталкивается Jquery-UI. И что еще хуже, потому что на нем нет нужных jquery-ui.min.js , , который мне нужен .

Я нашел примерно такие аппроксимации от третьего лица:

https://github.com/components/jqueryui

Но, несмотря на то, что это последняя версия, это неверная версия библиотеки, поскольку она имеет одно небольшое, но важное отличие внутри кода (символ косой черты в RegExp), поэтому она не является надежной версией.

Я пробовал использовать CDN от Google и Microsoft. NPM, Composer, Bower ... все они являются версионными ссылками, поэтому вам нужно указать "... / 1.12.1 / ..." в какой-то момент.

¿Идеи

Большое спасибо.

1 Ответ

0 голосов
/ 22 января 2019

Nice!Нашел сам.После поиска «сумасшедший» кажется, что у NPM есть репозиторий от jquery (официальный, а не от третьих лиц), который называется «DIST», и он имеет то, что должно быть внутри:

<script src="https://cdn.jsdelivr.net/npm/jquery-ui-dist/jquery-ui.min.js" integrity="sha384-PtTRqvDhycIBU6x1wwIqnbDo8adeWIWP3AHmnrvccafo35E7oIvW7HPXn2YimvWu" crossorigin="anonymous"></script>

Так вот и все:

https://www.npmjs.com/package/jquery-ui-dist

Затем через jsDelivr:

https://www.jsdelivr.com/package/npm/jquery-ui-dist

https://cdn.jsdelivr.net/npm/jquery-ui-dist/jquery-ui.min.js

И затем, SRI Hash itи все кончено.

Отлично!


РЕДАКТИРОВАТЬ:

Случается, что в NPM dist репозитории возникла очень точная проблема, обнаруженная мной.до:

enter image description here (слева, мин версия с сайта jquery UI cdn. Справа, мин версия из репозитория NPM jquery-ui-dist)

Кажется, чтоМинимизированная версия в NPM также имеет ошибку «обратной косой черты» в селекторе RegExp.В то время как в сокращенной версии CDN с веб-сайта jquery UI, нет.При просмотре несжатой версии кода с обоих сайтов (jquery oficial CDN и NPM-репозиторий), которые абсолютно одинаковы (двоичные идентификаторы), обратной косой черты там тоже нет.Таким образом, минимизированная версия, существующая в некоторых репозиториях (включая NPM), неверна.

Я даже минимизировал полную версию, и RegExp не модифицируется никаким образом (поэтому обратная косая черта не добавляется).Не понимаю, почему это происходит, но решение будет заключаться в том, чтобы включить несжатую версию jquery UI, которая в два раза больше, от ~ 200KB до 500KB приблизительно.

...