2016-09-02 6 views
1

Ich portiere meine Angular App von Schluck über Webpack und ES6. Ich verwende auth0 für die Authentifizierung, und nach dem Tutorial von auth0 hier:Auth0 Sperre mit Angular 1.5.8 und Webpack

https://auth0.com/docs/quickstart/spa/angularjs

Meine Versionen sind:

  • Winkel 1.5.8
  • Winkel-Lock 1.0.1
  • auth0-lock 10.2.2

Worüber ich mich streite ist dieser Fehler, den ich bekomme, wenn Ich bin Laden bis meinen App:

Failed to instantiate module app due to: 
Error: [$injector:modulerr] Failed to instantiate module auth0.lock due to: 
Error: Auth0Lock must be loaded. 

ich eine libraries.js Datei, wo ich meine Abhängigkeiten alle importieren:

import 'auth0-lock'; 
import 'angular-lock'; 
import 'angular-jwt'; 

und in meinem index.js Ich habe folgendes Setup:

import './libraries'; 
 
import './app/home/home-component'; 
 
import './app/shared/security/authService'; 
 

 
module.exports = angular 
 
    .module('app', 
 
     ['ui.router', 'ui.bootstrap', 'auth0.lock', 'angular-jwt', 'app.homeModule', 'shared.authModule']) 
 
    .config(configFunction) 
 
    .run(runFunction);

ich habe versucht, dieses Plugin Zugabe in meinem kein Glück webpack.config.js mit:

new webpack.ProvidePlugin({ 
 
    Auth0Lock: "auth0-lock", 
 
}),

Irgendwelche Ideen, wie ich meine Auth0Lock vor den Winkelblockierlasten belastet werden machen kann? Ich dachte, das würde passieren, da ich es zuerst wichtig, aber anscheinend nicht.

Jede Hilfe wird sehr geschätzt.

Antwort

1

Ich glaube, Auth0-eckig sucht nach Auth0Lock im Fensterobjekt. Versuchen Sie, den Namen der globalen Variablen zu ändern, indem Sie auf:

new webpack.ProvidePlugin({ 
    "window.Auth0Lock": "auth0-lock" 
}), 
0

Wenn Sie sich den Quellcode sucht Winkel lock.js die Exporte gegeben als:

exports.default = Auth0Lock; 

Daraus ergibt sich die Lösung ist ein 'default' zum ProvidePlugin in Ihrem webpack.config hinzuzufügen:

plugins: [   
    new webpack.ProvidePlugin({ 

     Auth0Lock: ['auth0-lock','default'], 
    }) 
], 

ich diese getestet haben Ansatz und es funktioniert wie erwartet.

Verwandte Themen