Невозможно загрузить jquery с помощью require.js - PullRequest
0 голосов
/ 18 октября 2018

Ради интереса, я хочу загрузить jquery, используя require.js.Итак, я сделал следующее:

amd.js

define(["jquery-3.3.1"], function($) {
    console.log(typeof $);              // reports undefined
    $("h1").html("Hello from AMD");     // causes TypeError (see below)
});

Мой HTML-файл действительно прост и содержит только пустой элемент <h1> и обычныйrequire.js определение.

<script data-main = "amd" src = "require.js"></script>

Кроме того, моя корневая папка, где все находится, также содержит исходный файл jquery-3.3.1.js.

Вы можете увидеть весь пример кода здесьна моем репозитории github .Игнорировать все файлы, кроме:

  1. amd.html
  2. amd.js
  3. jquery-3.3.1.js
  4. require.js

Однако, когда я захожу на страницу, будь то протокол file:/// или веб-сервер, модуль не загружается, и я вижу пустую страницу.

Консоль сообщает undefined для оператора console.log и сообщает следующее исключение для второго оператора, где я обращаюсь к объекту / функции jQuery, и это то, что возвращается из модуля.

TypeError:$ не является функцией

Я использую jquery версии 3.3.1.Если вы посмотрите на источник этой (и любой) версии jquery, то станет хорошо известно, что jquery является функциональным объектом.См. Ниже:

Из источника jQuery

define( [
    ...
], function( ..., ..., ... ) {

    jQuery = function( selector, context ) {

        return new jQuery.fn.init( selector, context );
    },

    return jQuery;
});

1 Ответ

0 голосов
/ 18 октября 2018

Ввели ли вы jquery в конфигурацию requirejs?

requirejs.config({
    baseUrl: 'js/lib', // path to your source
    paths: {
        jquery: 'jquery-3.3.1' // invoke
    }
});

enter image description here

...