Вопрос

Я пытаюсь включить jQuery Mobile в проекте, который использует потребности для AMD для AMD, я не хочу загружать jQuery Mobile в в качестве модуля AMD. Идея этого заключается в том, что мы будем использовать AMD для конкретной логики по применению, но любые внешние библиотечные зависимости, такие как jQuery, будут приведены в глобальную область, просто вручную определяя теги скрипта.

Проблема, имеющая определяющую тег сценария для jQuery Mobile до того, как метка скрипта jQuery, по-видимому, вызывает потребление данных, чтобы определить анонимный модуль и создать конфликт, который я не понимаю. Я посмотрел как на мобильный код jQuery, так и jQuery, и они установлены для условно вызова метода define(), если он существует. Поскольку я включаю эти теги перед нагрузками в течение пользователей, они не должны звонить в define(). Я дважды проверил это с точками останова, и они действительно не делают.

Когда я включаю jQuery Mobile, я получаю следующую ошибку:

Error: Mismatched anonymous define() module: [object Object]
.

Я не понимаю, как это происходит, если jQuery Mobile не вызывает define(). Что я здесь делаю не так? Это что-то с новым условным AMD jQuery Mobile?

Это было полезно?

Решение

To confirm, you should be using the built version of jQuery mobile, and you should include it before the require.js tag like so -- notice that jquery is included as a script tag since jQuery mobile depends on it:

<script src="scripts/jquery.js"></script>
<script src="scripts/jquery.mobile.js"></script>
<script src="scripts/require.js" data-main="scripts/app"></script>

I expect that to work. The error you see may be generated if you have the scripts like this:

<script src="scripts/require.js" data-main="scripts/app"></script>
<script src="scripts/jquery.js"></script>
<script src="scripts/jquery.mobile.js"></script>

I consider this more of a problem with RequireJS, not jQuery mobile, something I want to fix for RequireJS 1.1. But the first set of script tags should work.

If that does not, it would be interesting to know more how your app's JS module uses jQuery and jQuery mobile.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top