2017-09-29 8 views
3

J'utilise ADAL dans mon application Angular 2 pour l'authentificationImpossible de trouver les espaces de noms

Obtention de l'erreur ci-dessous lors de la compilation.

ERROR in C:/abc/src/app/services/adal.service.ts (5,26): Cannot find namespace 'adal'. 

ERROR in C:/abc/src/app/services/adal.service.ts (5,61): Cannot find name 'AuthenticationContext'. 

ERROR in C:/abc/src/app/services/adal.service.ts (10,22): Cannot find namespace 'adal'. 
webpack: Failed to compile. 


adal.service.ts 
---------------------------- 
import {ConfigService} from './config.service'; 
import {Injectable} from '@angular/core'; 

import 'expose-loader?AuthenticationContext!../../../node_modules/adal-angular/lib/adal.js'; 
let createAuthContextFn: adal.AuthenticationContextStatic = AuthenticationContext; 

@Injectable() 
export class AdalService { 

    private context: adal.AuthenticationContext; 

Ai-je manqué des importations?

Répondre

0

résolu ce problème en ajoutant le code ci-dessous dans .angular-cli.json

"scripts": [ 
     "../node_modules/adal-angular/lib/adal.js" 
     ] 
1

Vous avez peut-être besoin de définitions TypeScript. Essayez d'installer avec npm install --save-dev @types/adal dans le répertoire racine de votre projet.

Une autre solution possible:

import * as adal from 'expose-loader?AuthenticationContext!../../../node_modules/adal-angular/lib/adal.js' 

ou

import {ConfigService} from './config.service'; 
import {Injectable} from '@angular/core'; 

import { adal, AuthenticationContext, AuthenticationContextStatic } from 'expose-loader?AuthenticationContext!../../../node_modules/adal-angular/lib/adal.js'; 
let createAuthContextFn: AuthenticationContextStatic = AuthenticationContext; 

@Injectable() 
export class AdalService { 
    private context: AuthenticationContext; 
} 
+0

Maintenant, je reçois une seule error.ERROR dans C: /abc/src/app/services/adal.service.ts (5,61): Impossible de trouver le nom 'AuthenticationContext'. – Jan69

+2

Pour moi travaillé: import {adal, AuthenticationContext} à partir de 'exposer-loader? AuthenticationContext! ../../../ node_modules/adal-angular/lib/adal.js'; – AuroMetal

+0

Merci @AuroMetal qui a fonctionné pour moi aussi! – Learner