2016-06-28 9 views
1

Ich benutze angular-cli, um ein neues Angular 2-Projekt zu erstellen. Ich versuche, das npm-Projekt "baconjs" hinzuzufügen, habe aber keinen Erfolg.Kann 'speckjs' nicht in Angular 2-Dienst importieren

Ich folge den Anweisungen hier: https://github.com/angular/angular-cli/wiki/3rd-party-libs

NPM und Typisierungen Arbeit zu finden installiert. Wenn Sie die Datei angular-cli-build.js ändern, wird 'vendor/baconjs/dist/Bacon.js' im Verzeichnis dist/installiert. Allerdings versucht import * as foo from 'baconjs' Ergebnisse in diesem Fehler:

Cannot find module 'baconjs'. 

Ich habe auch ...from 'baconjs/Bacon' und ...from 'baconjs/Bacon.js' versucht. Ich habe viele verschiedene Beschwörungsformeln in meiner system-config.ts ausprobiert. Dies ist meine aktuelle Version:

const map: any = { 
    'baconjs': 'vendor/baconjs/dist' 
}; 

/** User packages configuration. */ 
const packages: any = { 
    'baconjs': { main: 'Bacon', defaultExtension: 'js' } 
}; 

Ich habe alle verschiedenen Werte für das 'Format' Feld ausprobiert. Ich habe es mit und ohne die DefaultExtension versucht. Ich habe viele Sachen ausprobiert. Kein Würfel.

Mysteriös, System.import('baconjs/Bacon.js') scheint gut zu funktionieren, wenn sie an der Spitze der gleichen Datei mit dem schlechten Import platziert. Also all diese Systemjs-Konfiguration macht etwas.

Hmm, sieht aus wie ähnliche Fragen werden überall gefragt. Naja. Putting es auf der Platte ....

Antwort

0

Okay, hier ist, was für mich arbeitete nach dem Lesen einer Menge von Docs und viel herumspielen. Diese sind fast das gleiche wie die Anweisungen für die Unterstreichung auf dem eckigen Wiki, aber mit einer wichtigen Änderung.

npm install baconjs --save 
typings install baconjs --save --global 

Veränderung der Winkel-cli-build und System-Konfigurationsdateien, wie beschrieben, dann in der Skript-Datei für Ihre Service-Datei:

/// <reference path="../../../../../../typings/globals/baconjs/index.d.ts" /> 
import * as Bacon from 'baconjs'; 

Der Unterschied ist der Import Linie, im Gegensatz zu dem declare var _; im Wiki. Es ist auch wichtig, dass die Zeile /// <reference ... die erste Zeile in der Datei ist.