Winkel 6 ReferenceError: $ ist nicht definiert Fehler mit JQuery
Habe ich installiert Winkel 6 mit foundation, aber ich erhalte eine Fehler mit JQuery.
Uncaught syntaxerror: unexpected identifier
ReferenceError: $ is nicht definiert
In meine Komponente habe ich
declare var $:any
onNgInit () {
$(document).foundation()
}
Ich habe alle Importe in meinem Winkel.json
scripts : [
"node_modules/jquery/dist/jquery.js"
]
Ich habe alles versucht, was ich im internet gefunden, aber immer noch vor den gleichen Fehler. Auch dieses add verwendet, um zu arbeiten, wenn ich arbeiten war mit den Eckigen 4
- Versuchen Sie es mit
JQuery(document).foundation()
- Ahould werden
jQuery(document).foundation()
- JQuery bietet eine Wellenlinie auf (doucument) und auch für die jquey, es gibt eine squiiggly Linie auf Fundament(). Tun, mir helfen, die meisten
- Für mich hinzufügen des folgenden in die polyfills.ts dieses Problem gelöst
import * as jQuery from 'jquery'; window['$'] = jQuery;
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist etwas, das in Bezug auf die Art und Weise ES6-Module isolation. Die Beladung von
angular.json
Datei ist das gleiche wie das script-tag auf eine index.html Datei (global scope). Wenn Sie importieren Sie Sie auf eine beliebige Komponente, die Sie bekommen, eine neue lokale Kopie, so vermeiden Sie importieren es auf diese Weise.Um zu verhindern, dass intellisense und Probleme kompilieren, erstellen Sie eine
typings.d.ts
- Datei mit dem folgenden Inhalt:Jetzt sind Sie bereit zu gehen 🙂
Installieren, Jquery-Plugin Für eckige
Nun in Ihrem
app.module.ts
hinzufügenEs wird die Arbeit getan.
Wenn Sie jquery installiert haben und trotzdem diese Fehlermeldung bekommen. In jeder Komponente, wo Sie mit
$
fügen Sie an der Spitzeimport * as $ from "jquery";
Für diejenigen, die eine Antwort auf diese Lösung ist der import der Knoten-Typen (ich gehe davon aus, dass Sie bereits mit npm zu installieren --speichern von jquery und foundation-Websites):
npm install --save @types/node
dann in Ihre
tsconfig.app.json
unter Ihrem Modul, stellen Sie sicher, dass der Abschnitt Inhaltstypen (untercompilerOptions
) liest:"types": ["node"]
dann in deinem code:
Ich bin mit Dropdown-Menü als Beispiel, aber dies sollte funktionieren mit allen anderen Stiftung plugins (habe ich noch nicht getestet aber).
Bootstrap
, würde das funktionieren? Meine Sorge istBootstrap
erfordert auchJQuery
so würde meine Anwendung habe zwei Versionen vonJquery
?stellen Sie sicher, dass der Pfad korrekt ist ?
versuchen, diese
[../node_modules/jquery/dist/jquery.js]
Können Sie versuchen die jQuery-Typen, ich mache das nach, installiere ich jQuery von npm.