2016-09-14 3 views
-2

ich folgenden Text https://github.com/casufi/NG6-starter bin mit ist hier der Teil der app.jsWie benutze ich kendo ui core mit webpack und es2016?

 import $ from 'jquery'; 
     import angular from 'angular'; 
     import 'kendo-ui-core'; 

http://pastebin.com/raw/tgdp0UMR

aber ich bekomme die folgende Fehlermeldung angezeigt

Error: The Kendo UI directives require jQuery to be available before AngularJS. Please include jquery before angular in the document.

+3

den Fehler lesen. Es ist ziemlich klar, wie man es beheben kann – Li357

+0

Ich verstand, dass ich Jquery vor eckigen platzieren muss und ich änderte den Code zu importiere $ von 'jquery'; Winkel von 'eckig' importieren; Import 'kendo-ui-core'; Der einfachste Weg ist, Link zu jquery in index.html direkt zu platzieren, aber ich möchte dies auf eine ordnungsgemäße Weise tun für https://github.com/casufi/NG6-starter – Casufi

+0

Haben Sie jQuery zuerst und Angular Sekunde. Der Fehler ist ziemlich klar. – Li357

Antwort

0

Wenn Kendo ein eigenes Vorlagensystem verwendet, muss $ im Fenster angezeigt werden. Wenn Sie können, verwenden https://github.com/webpack-contrib/expose-loader Aber wenn loader aussetzen noch nicht funktioniert, dann müssen Sie ein Modul erstellen wird jquery auf dem window

import $ from 'jquery' 
window.$ = $ 

platzieren und dass die Modullast erste und vor dem Import Kendo

0

Es scheint, dass aktuelle Versionen von kendo-ui-core so konfiguriert sind, dass sie eine Version von jquery unter 3.0.0 verwenden. Wenn der Rest Ihres Projekts eine höhere Version verwendet, wird dieser kendo-ui-core so eingerichtet, dass er eine eigene private Version hat, daher der Fehler.

Eine Lösung besteht darin, mit einem Alias ​​zu erzwingen, dass kendo-ui-core dieselbe Version von jquery verwendet wie alle anderen auch.

Versuchen Sie dies in Ihrem webpack.config.js:

resolve: { 
    alias: { 
    jquery: path.resolve(__dirname, "node_modules/jquery"), 
    }, 
    modules: ["node_modules"] 
}