2016-04-11 2 views
-1

wenn ich requirejs benötigen jquery wie folgt aus:über requirejs, um 'jquery' nicht mit Pfad zu verlangen?

requirejs(['../js/lib/jquery','../js/lib/lib'], function ($,lib) { 
    var lib = new lib(); 
    $(function() { 
     //somecode 
    }) 
}); 

die Lauf Ergebnis ist: $ ist keine Funktion

nach Gebrauch require.config:

requirejs.config({ 
    baseUrl: '../js/lib' 
}); 
requirejs(['jquery','lib'], function ($,lib) { 
    var lib = new lib(); 
    $(function() { 
     //somecode 
    }) 
}); 

das Laufergebnis ist in Ordnung

warum?

+1

Haben Sie versucht, [die offizielle Dokumentation] (http://requirejs.org/docs/jquery.html)? Beantwortet es deine Frage? Wenn nicht, warum? – kryger

+0

es ist meine Schuld, danke! – Chengyu

+0

@Chengyu Bitte teilen Sie warum :) –

Antwort

0

Die andere (empfohlen) Lösung ist nur die Datei zu benennen ‚jquery.js‘ und es in dem Verzeichnis baseUrl zu platzieren. Dann wird der obige Pfadeintrag nicht benötigt. Sie können viele Konfigurationszeilen vermeiden, indem Sie die Dateien gemäß der Standard-ID-zu-Pfad-Konvention von baseUrl + moduleID + '.js' platzieren. Die folgenden Beispiele zeigen, wie baseUrl als Verzeichnis für den Bibliothekskode von Drittanbietern festgelegt wird und eine zusätzliche Pfadangabe config für Ihren App-Code verwendet wird. Um das zu wiederholen, erhalten Sie wahrscheinlich einen Fehler, wenn Sie auf jQuery mit einem anderen Modulnamen wie 'lib/jquery' verweisen. Dieses Beispiel wird nicht funktionieren:

// THIS WILL NOT WORK 
define(['lib/jquery'], function ($) {...}); 

Von http://requirejs.org/docs/jquery.html

Verwandte Themen