RequireJS с проверкой jQuery

Я пытаюсь использовать RequireJS, чтобы добавить ссылки на мои файлы сценариев проверки jQuery. У меня есть 3 файла сценария вместо обычного 1:

jquery.validate - библиотека проверки jqueryjquery.validate.unobtrusive - Это добавляет ненавязчивую проверку в библиотеку проверки jquery (так что вы можете использовать атрибуты данных, и она автоматически связывает их). Это зависит от jquery.validatejquery.validate.custom - это добавляет мои собственные ненавязчивые методы проверки и зависит от jquery.validate.unobtrusive.

Я настроил следующую конфигурацию:

require.config({
    paths: {
        'jquery': 'Scripts/jquery-1.8.3.min',
        'jquery.validate': 'Scripts/jquery.validate.custom'
    },
    shim: {
        'Scripts/jquery.validate': ['jquery'],
        'Scripts/jquery.validate.unobtrusive': ['jquery', 'Scripts/jquery.validate'],
        'Scripts/jquery.validate.custom': ['jquery', 'Scripts/jquery.validate.unobtrusive']
    }
});

Теперь у меня есть следующий модуль:

define(['jquery', 'jquery.validate'], function($) {
    alert('Yey!');
});

Однако в файле jquery.validate.custom выдается ошибка, сообщающая, что ненавязчивая зависимость не была введена. После некоторой отладки с помощью инструментов браузера и просмотра вкладки «Сеть» я вижу, что она успешно загружает файлы jquery.validate.custom.js и jquery.validate.js, но даже не пытается загрузить jquery.validate.unobtrusive. JS файл.

Буду признателен, если кто-нибудь покажет мне, что я делаю не так. Спасибо

Редактировать:

Я сейчас попробовал:

require.config({
    paths: {
        'jquery': 'Scripts/jquery-1.8.3.min',
        'jquery.validate': 'Scripts/jquery.validate.custom'
    },
    shim: {
        'Scripts/jquery.validate': ['jquery'],
        'Scripts/jquery.validate.unobtrusive': ['jquery', 'Scripts/jquery.validate'],
        'jquery.validate': ['jquery', 'Scripts/jquery.validate.unobtrusive']
    }
});

И это работает правильно. Я также попробовал следующее, поскольку я думаю, что это выглядит лучше:

require.config({
    paths: {
        'jquery': 'Scripts/jquery-1.8.3.min',
        'jquery.validate': 'Scripts/jquery.validate.custom',
        'jquery.validate.core': 'Scripts/jquery.validate',
        'jquery.validate.unobtrusive': 'Scripts/jquery.validate.unobtrusive'
    },
    shim: {
        'jquery.validate.core': ['jquery'],
        'jquery.validate.unobtrusive': ['jquery', 'jquery.validate.core'],
        'jquery.validate': ['jquery', 'jquery.validate.unobtrusive']
    }
});

Но это дает ошибку тайм-аута.

Если бы кто-нибудь мог объяснить, почему второе решение не работает, это было бы здорово. Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос