Uncaught ReferenceError: require ist nicht definiert, ich bin mit dojo1.7.2
Ich bin mit dojo1.7.2 ich habe firebug-error: Uncaught ReferenceError: require ist nicht definiert
Hier ist mein code:
<script type="text/javascript" src="../js/release/dojo/dojo.js"
data-dojo-config="packages:[ {'name':'com','location':'/myApp/js/com'}], async: false, parseOnLoad: true, isDebug: true">
</script>
<script language="JavaScript" type="text/javascript">
require(['dojo/dojo', "dijit/dijit", "dojox/dojox"], function () {
require(["dojox/mobile", "dojo/parser"], function(mobile, parser){
})
});
</script>
Wo habe ich das hier falsch? Vielen Dank im Voraus.
- Das passiert mir auch. Gibt es eine Antwort?
- Ich fand es heraus. Siehe meine Antwort unten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte ein Fehler beim laden-dojo von der src, die Sie angegeben, da ich nicht weiß, die Ordner-Struktur, kann ich nicht sagen.
Hier ist ein Turnschuh, dass es funktioniert http://jsfiddle.net/P4bvs/1/
Diese äußere require ( require(['dojo/dojo', "dijit/dijit", "dojox/dojox"] ) ist nicht erforderlich , wenn auch nicht, was die Ursache für deinen Fehler.
Ich nur dieses problem gelöst. Es ist sehr gut möglich, dass meine Lösung nicht helfen, da dieses problem kann verursacht werden durch eine Menge verschiedener Dinge. Ich habe meine web-site serviert wird aus der server1.blah.com und dojo serviert wird aus der server2.blah.com. Normalerweise wird die site ist in Ordnung. Dann bekamen wir einen neuen Benutzer und der Website war nicht gut auf allen. Ich habe den Fehler in der web-Konsole:
ReferenceError: require is not defined
Das problem war, dass beide Server über https, aber es gibt kein Zertifikat. (Dies ist eine intranet-Anwendung). Also, wenn Sie gehen, um server1.blah.com werden Sie gefragt, ob Sie fortfahren möchten, und fügen Sie eine Ausnahme. ABER! Es gibt keine Ausnahme für server2! Also ich hatte meinen neuen Benutzer navigieren Sie zu
server2.blah.com/blah/dojo.js
und fügen Sie die Ausnahme. Jetzt funktioniert alles! (Denken Sie an ihn.require
in diesem Fall kommt von dojo. Wenn Sie nicht laden kann-dojo aufgrund der vielen möglichen Gründe, dierequire
Funktion nicht definiert)Außerdem bin ich nicht dafür, dies als best practice mit allen Mitteln. Richten Sie einfach Ihre Zertifikate!
Zunächst müssen Sie prüfen, für die dojo.js Datei, wo es sich befindet.
das ultimative, was Sie brauchen, zu konzentrieren ist, wo ist das dojo Ordner befinden, und was ist die Position gegeben, an der src-tag ""
Wir haben das gleiche Problem bei der Arbeit, nur um damit andere Menschen wissen, dass, wenn Sie, dass Fehler
verwenden Sie single-Wellness oder importieren Sie eine Feste version der SystemJS, wie so
<script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.21.5/system-production.js"></script>
das kann die Ursache sein.
So haben die Produktion aufzubauen, war das werfen dieser Ausnahme in der Entwicklung, in unserem Fall war die Verwendung für
{mountParcel} with single-spa
.Können Sie eine nicht-Produktion bereit systemjs aus index.html oder benutzen Sie ein besseres Konzept zu haben nicht, dass Spritzen systemjs in den html-Code.