2015-07-16 26 views
7

Questo codice dovrebbe visualizzare un div contenente Hello World, ma invece ricevo l'errore Uncaught TypeError: System.import is not a function. Sto seguendo il video tutorial introduttiva per ng-book2, che contiene il seguente codice nel index.html:Unchaught TypeError: System.import non è una funzione

<!DOCTYPE html> 
<html> 
<head> 
    <title>Angular 2</title> 

    <script src="js/traceur-runtime-0.0.90.js"></script> 
    <script src="js/system-0.18.4.js"></script> 
    <script src="js/angular2-alpha31.js"></script> 
</head> 
<body> 
    <script>System.import('js/app');</script> 
    <hello-world></hello-world> 
</body> 
</html> 

e app.ts:

/// <reference path="../lib/node_modules/angular2/angular2.d.ts" /> 

import { 
    Component, 
    View, 
    bootstrap 
} from 'angular2/angular2'; 

// Annotation section 
@Component({ 
    selector: 'hello-world' 
}) 
@View({ 
    template: '<div>Hello World</div>' 
}) 
// Component controller 
class HelloWorld { 

} 

bootstrap(HelloWorld); 

e, infine, la struttura di directory corrente:

/ng2 
    /js 
    angular2-alpha31.js 
    app.js 
    app.js.map 
    system-0.18.4.js 
    system-0.18.4.js.map 
    traceur-runtime-0.0.90.js 
    index.html 

In cerca di soluzioni, lo only issue that seems similar enough indica che c'è un problema con System config.js. Tranne in questo tutorial, il video mostra che funziona senza alcun accenno di configurazione. Devo dire che questo è ospitato su un server remoto rispetto al server HTTP locale utilizzato nel video.

Screenshots della finestra sviluppatore:

System.import is not a function

File list

Ogni file mostrato nella struttura di directory sopra è il più recente disponibile su GitHub al momento di scrivere questo. C'è un file di configurazione di default che dovrei includere se utilizzo un server remoto o mi manca qualcosa di completamente diverso?

+0

Il sistema si carica correttamente? Cosa mostra il completamento automatico nella console JavaScript dopo 'Sistema'? – tadman

+0

prova questo progetto seme, hai un mondo Ciao in esecuzione dall'inizio -> https://github.com/mgechev/angular2-seed –

+0

@tadman Spiacente, non sei sicuro di cosa intendi con il completamento automatico? Nella finestra della console sotto l'errore mostra '(funzione anonima) @ (indice): 11'. Esiste un metodo nell'oggetto 'System' che posso testare per vedere se sta caricando ok? –

risposta

6

Dopo aver giocato con i file ulteriormente, ho scoperto che Angular2 sta sovrascrivendo l'oggetto System di SystemJS con il proprio. Se angular2.js spostato sopra system.js all'interno del codice HTML, allora l'istruzione

<script>System.import('js/app');</script> 

utilizza l'oggetto di sistema corretto.

Questo non dovrebbe accadere, tuttavia è un problema per il momento.

1

Uncaught TypeError: System.import is not a function

Un'indicazione indicante che non è stato possibile caricare js/system-0.18.4.js.

+0

Altro per andare su basarat? Sto avendo lo stesso messaggio di errore. –

+0

Vedere quale 'sistema' è ... è definito – basarat

+0

Ho creato un post separato e pubblicato le mie configurazioni e così: http://stackoverflow.com/questions/35636823/systemjs-and-karmajs-typeerror-system- import-is-not-a-function –

Problemi correlati