2017-04-26 1 views
0

J'essaie d'intégrer okta avec webpack et angular2, j'utilise presque tout correctement et je me retrouve avec une erreur. J'utilise la configuration de https://angular.io/resources/zips/webpack/webpack.zip tel qu'il est et aussi des choses correctement suivi mentionné à http://developer.okta.com/blog/2017/03/27/angular-okta-sign-in-widgetERREUR ReferenceError: OktaSignIn n'est pas défini

j'ai essayé d'importer okta-signe-in.min.js dans vendor.ts aussi bien dans okta.service.ts avec

import '@okta/okta-signin-widget/dist/js/okta-sign-in.min';

fichier

sont importées mais je reçois OktaSignIn n'est pas erreur définie

enter image description here

Merci pour toute aide à l'avance ..

+0

Pourquoi avez-yo Vous avez utilisé des bibliothèques obfusquées comme sources? –

Répondre

2

Vous certainement pas en suivant les étapes. Il n'y a aucune signification de cette ligne.

import '@okta/okta-signin-widget/dist/js/okta-sign-in.min'; 

okta-sign-in.min est un javascript qui doit être inclus dans index.html. Si vous utilisez-cli angulaire, puis comme mentionné dans le tutoriel

"scripts": [ 
    "../node_modules/@okta/okta-signin-widget/dist/js/okta-sign-in.min.js" 
], 

Toutes les étapes tutoriel sont mentionnées correctement.

Étape 1: Créer 1 Service

declare let OktaSignIn: any; 

Cette ligne sera nécessaire, intialize le constructeur ici selon le besoin.

Étape 2: appelez ce service dans quelquechose.component.ts.

+0

Je suppose que vous serez en mesure de le charger via certains plugins webpack. voici l'un des modules https://github.com/jantimon/html-webpack-plugin. Publiez votre config webpack. –

+0

puisque j'utilise webpack ne peut pas inclure directement le script dans le fichier d'index et je n'utilise pas angulaire-cli donc pas d'endroit pour ajouter '' scripts ": [ " ../node_modules/@okta/okta-signin-widget/dist /js/okta-sign-in.min.js " ],' et 'import '@ okta/okta-signin-widget/dist/js/okta-sign-in.min'' est pour l'importation de la bibliothèque qui fait le travail correctement –

+0

pas que l'importation ne fonctionne pas parce que okta-sign-in.min n'exporte rien. c'est un JS –

0

step1 
 
import '@okta/okta-signin-widget/dist/js/okta-sign-in.min'; 
 
step2: 
 
"scripts": [ 
 
    "../node_modules/@okta/okta-signin-widget/dist/js/okta-sign-in.min.js" 
 
], 
 
step3: 
 
declare let OktaSignIn: any; 
 
step4: 
 
var Oktasignin=new Oktasignin('okta-signin-widget');

0

remplacé

declare let OktaSignIn: any; 
import '@okta/okta-signin-widget/dist/js/okta-sign-in.min'; 

par

var OktaSignIn = require('@okta/okta-signin-widget'); 

juste lu quelque part, il arrive à cause de tslint pas webpack