2017-05-12 2 views
0

Wenn ein Dienst aus dem auth0-js Paket an den DI-Container hinzuzufügen versucht, die Build versucht, die index.js Datei aus dem node_modules/@types/auth0-js/index.js Verzeichnis statt node_modules/auth0-js/index.js zu laden.AOT Build von @types versuchen, anstelle der tatsächlichen Modul zu importieren

[21:50:57] 'build.bundles.app.aot' errored after 784 ms 
[21:50:57] Error on fetch for @types/auth0-js/index.js at file:///Users/llwt/src/testing/angular-seed-advanced/node_modules/@types/auth0-js/index.js 
    Loading dist/tmp/web.module.ngfactory.js 
    Loading dist/tmp/main.web.prod.js 
    Error: ENOENT: no such file or directory, open '/Users/llwt/src/testing/angular-seed-advanced/node_modules/@types/auth0-js/index.js' 
    at Error (native) 

Ich fühle mich wie ich muss etwas Grundlegendes hier fehlen. Ich habe das Problem in einer Gabel des Angular-Advanced-Seed von Nathan Walker reproduziert, die here gefunden werden kann.

import { WebAuth } from 'auth0-js'; 
// ... 
export function authHttp() { 
    return new WebAuth({ 
    domain: 'foo', 
    clientID: 'bar', 
    }); 
} 
// ... 
@NgModule({ 
//... 
    providers: [ 
    { provide: WebAuth, useFactory: (authHttp) }, 
    // ... 

Lassen Sie mich wissen, ob es eine spezifischere Informationen, die ich dabei helfen liefern kann debuggen:

Das Paket wie so importiert wird.

Antwort

0

Für alle, die in Zukunft darüber stolpern, stellte sich heraus, dass in der Typdefinition der Bibliothek auth0-js ein Fehler aufgetreten war, der das Build fehlschlagen ließ.

Edit: Für jeden Blick auf diese jetzt. Das Problem ist immer noch vorhanden und wird in this Definitely Typed issue verfolgt.

+0

Was war die Lösung ??? –

+0

@JasonSpradlin Bearbeitet mit einem Link zum definitiv eingegebenen Problem. Ich habe dort einen Kommentar mit einer naiven Lösung hinterlassen, die für Sie funktionieren könnte oder auch nicht. Im Grunde kommt es auf jemanden an, der die auth0-js Typdefinitionen aktualisieren muss. – Steven

+0

Um die in der definitiv getippten Ausgabe erwähnte Lösung zu erläutern. Das Einfügen einer Instanz von WebAuth von Ihrem Modul in Ihre AuthService-Factory scheint dazu zu führen, dass der Fehler während der AOT-Kompilierung auftritt. Anstatt eine WebAuth-Instanz zu injezieren, wird im Beispiel einfach ein WebAuth direkt im AuthService-Konstruktor instanziiert. Dies löste unser Problem, machte jedoch das Testen von Einheiten etwas schwieriger, da wir nicht einfach eine Schein-WebAuth-Instanz injizieren konnten. –

Verwandte Themen