2016-02-05 10 views
11

Próbuję uruchomić program WWW przy użyciu TypeScript i jspm & system.js do załadowania modułu. Nie zajmuję się daleko. Po zainstalowaniu jspm i używając go do zainstalowania jQuery:jspm/jQuery/TypeScript - moduł "jquery" nie ma domyślnego eksportu

jspm install jquery 

I dalej:

<script src="jspm_packages/system.js"></script> 
<script src="config.js"></script> 
<script> 
     System.import('main'); 
</script> 

main.ts:

import $ from "jquery"; 

export class Application { 
    constructor() { 
     console.log($); 
    } 
} 

maszynopisu nie będzie kompilować, ponieważ „Moduł" jquery 'nie ma domyślnego eksportu.

Wygenerowany plik config.js ma poprawne odwzorowanie: "jquery": "npm: jquery @ 2.2.0"

+1

Czy próbowałeś '* jako import $ z "jquery"; '? –

+0

Dzięki, że działa! Jeśli podasz to jako odpowiedź, mogę to zaakceptować. – user888734

+0

To zadziałało dla mnie! – Dan

Odpowiedz

41

Gdy moduł nie posiada domyślny eksport, można importować kompletny moduł jako obiektu: import * as $ from "jquery";

lub importu o nazwie eksporcie: import { ajax, css } from "jquery";

+1

Eksport nazwanych nie działa. JQuery modułu nie ma wyeksportowanego elementu 'css'. – mradzinski

+0

Nie zapomnij o uruchomieniu: npm install jquery. – user321