簡體   English   中英

無法使用require.js加載jquery

[英]Unable to load jquery using require.js

只是為了好玩,我想使用require.js加載jquery 所以,我做了以下幾點:

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 repo上看到整個示例代碼。 忽略除以下所有文件:

  1. amd.html
  2. amd.js
  3. jQuery的3.3.1.js
  4. require.js

但是,當我訪問頁面時,無論是使用file:///協議還是使用Web服務器,模塊都沒有加載,我看到一個空白頁面。

控制台報告undefinedconsole.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;
});

你有沒有在你的requirejs配置中輸入'jquery'?

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

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM