Auth0-js с Angular 2 (RC5), Webpack и CLI

Я пытаюсь внедрить auth0 в свой проект Angular 2, и я не хочу использовать виджет блокировки, а вместо этого настраиваю свою собственную форму входа и кнопки для входа в социальную сеть. Поэтому я хочу использовать библиотеку auth0 самостоятельно. И я хочу, чтобы он был в комплекте, поэтому не импортируйте его в index.html.

Я использовал CLI для создания своего проекта (1.0.0-beta.11-webpack.2) и установил auth0-js с NPM. Я могу найти папку "auth0-js" в моих node_modules, теперь мне просто нужно как-то подключить ее к моему приложению.

// login.component

import { Component } from '@angular/core';
import * as Auth0 from "auth0-js";

@Component({
  selector: 'app-login',
  templateUrl: 'login.component.html',
  styleUrls: ['login.component.css']
})
export class LoginComponent implements OnInit {

  auth0: any;

  constructor() {
    this.auth0 = new Auth0({
      domain: 'myDomain',
      clientID: 'myClientId',
      callbackURL: '{http://localhost:4000/}', // in dev-mode
      callbackOnLocationHash: true
    });
  }

  loginWithGoogle(connection) {
    this.auth0.login({
      connection: 'google-oauth2'
    });
  }
}

Но я получаю это консольное сообщение от Webpack:

ОШИБКА в [по умолчанию] ......... /node_modules/@types/auth0-js/index.d.ts'не является модулем.

Кажется, приложение работает, хотя набор текста не работает. Я установил с npm i @types/auth0-js --save и он устанавливает наборы для моих узловых модулей, как и ожидалось.

Кажется, что-то не так с печатанием, но что? И это что-то, что я могу исправить сам, или мне нужно подождать, пока кто-нибудь не обновит набор текста, чтобы он был модульным?

Спасибо!!

1 ответ

Я не использовал Auth0. Но я думаю, что это должно работать.

main.ts

import 'auth0-js/standalone'; 

// Add this to test it.
var auth0 = new Auth0({
  domain:       'mine.auth0.com',
  clientID:     'dsa7d77dsa7d7',
  callbackURL:  'http://my-app.com/callback',
  responseType: 'token'
});

Быстрые наборы работают вокруг src/typings.d.ts

declare var Auth0: any;

Лучший способ сделать набор текста:

Другие вопросы по тегам