#jquery #extjs #jointjs
#jquery #extjs #jointjs
Вопрос:
Я заметил, что JointJS имеет jQuery в качестве своей зависимости. Мое приложение построено на ExtJS v3. Это довольно старое приложение. Когда я пытаюсь включить в него тег с расположением Jquery v3.5.1 cdn, я замечаю, что он где-то нарушает мой код ExtJS.
Могу ли я в любом случае включить jQuery для работы JointJS, не нарушая работу моего приложения ExtJS?
В настоящее время это то, что я пытаюсь.
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.20/lodash.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.4.0/backbone.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jointjs/3.3.1/joint.js"></script>
Комментарии:
1. У меня нет опыта работы с этой старой версией, но если в вашем файле есть часть, начинающаяся с
"js": [
app.json
, вы можете попробовать добавить новый элемент в этот массив, например{"path": "https:/...."}
.
Ответ №1:
Нам может помочь, если вы опубликуете свой нерабочий полный код.
В настоящее время, похоже, существуют зависимости между JointJS и jQuery, см. https://github.com/clientIO/joint/issues/127
Для предотвращения конфликтов между jQuery и другими библиотеками, такими как Extjs, обычным способом является замена $() на jQuery() .
У вас также есть «радикальный» способ инкапсулировать ваше приложение JointJS в «iframe» внутри вашего приложения Extjs. Это не очень чистое решение, но оно будет работать.
Комментарии:
1. К сожалению, я не могу опубликовать код для справки. Я изучил зависимость JointJS и Jquery. В последнем JointJS есть ссылки на Jquery как $ . Я обнаружил, что если я использую jquery.noConflict(), а затем использую jquery вместо $ в JointJS, все работает.