Definitelytyped: @ types / angle-ui-router | angle-ui-bootstrap | angle-translate "Modul 'angle' hat kein exportiertes Mitglied 'ui'"

Erstellt am 17. Juli 2016  ·  19Kommentare  ·  Quelle: DefinitelyTyped/DefinitelyTyped

  • [x] Ich habe versucht , die neueste mit angular-ui-router/angular-ui-router.d.ts Datei in diesem Repo- und hatten Probleme.

Winkel-ui-Router funktioniert nicht, wenn @ Typen / Winkel-ui-Router.

"Module 'angular' has no exported member 'ui'"

Jede Datei ist jetzt rot und wird nicht kompiliert

Sieht aus wie ein mit <reference types="angular" /> neben einem import * as angular from 'angular'; wird nicht funktionieren

Dasselbe geschieht mit Winkel-ui-Bootstrap

Die Module, die auf abhängen @types/angular sind völlig gebrochen. Ich bin nicht mit Winkel globales Variable und wenn ich import * as angular from 'angular' dann versuchen , einen Modul - Namespace zuzugreifen, wie angular.ui.bootstrap , angular.translate , angular.ui sie, alle Fehler geben Module 'angular' has no exported member 'ui'

Der folgende Code schlägt fehl:

'use strict';

import * as angular from 'angular';

class Config {
    static $inject = ['$stateProvider', '$urlRouterProvider'];

    constructor($stateProvider: angular.ui.IStateProvider, $urlProvider: angular.ui.IUrlRouterProvider) {
         /*...*/
    }
}

angular.module('Module', []).config(Config);
@types Bug

Hilfreichster Kommentar

Gleiches Problem ... Nur @ types / angle installiert

importierter Winkel in Typoskriptdatei:
* als eckig aus 'eckig' importieren;

Der UI-Namespace ist jedoch auf ng nicht verfügbar.

Bekommen:

Das Modul 'eckig' hat kein exportiertes Element 'ui'.

Alle 19 Kommentare

Dies sollte durch fixiert werden https://github.com/DefinitelyTyped/DefinitelyTyped/pull/10170

Sie können es entweder als Modul verwenden:

import * as angular from 'angular';
import "angular-ui-router";

class Config {
    static $inject = ['$stateProvider', '$urlRouterProvider'];

    constructor($stateProvider: angular.ui.IStateProvider, $urlProvider: angular.ui.IUrlRouterProvider) {
        /*...*/
    }
}

angular.module('Module', []).config(Config);

oder als ein globales , aber verwenden /// <reference types=... />

/// <reference types="angular" />
/// <reference types="angular-ui-router" />

class Config {
    static $inject = ['$stateProvider', '$urlRouterProvider'];

    constructor($stateProvider: angular.ui.IStateProvider, $urlProvider: angular.ui.IUrlRouterProvider) {
        /*...*/
    }
}

angular.module('Module', []).config(Config);

@mhegazy ist dies das neue Verhalten für 2.0+ bei der Verwendung von @types ? Sie können keine "echten" Globals haben, die Sie einmal einschließen und die überall verfügbar sind?

@types/angular-ui-router und @types/angular-ui-bootstrap ist btw noch gebrochen

clipboard01

@mhegazy ist dies das neue Verhalten für 2.0+ bei Verwendung von @types? Sie können keine "echten" Globals haben, die Sie einmal einschließen und die überall verfügbar sind?

Sie können. /// <reference types="angular" /> sollte ng in Ihrer Zusammenstellung verfügbar machen.

@ Typen / Winkel-ui-Router und @ Typen / Winkel-ui-Bootstrap sind btw noch gebrochen

die letzte in https://github.com/DefinitelyTyped/DefinitelyTyped/tree/types-2.0 sieht richtig für mich. Können Sie darauf hinweisen, was bei Ihnen nicht funktioniert?
Wie importieren Sie eckig?

Ich bin mit import * as angular from 'angular' . wenn ich versuche verwenden angular.ui.IStateProvider (von angular-ui-router ), es existiert nicht in dem Winkel. selbst wenn ich den Winkel-ui-Router in einer anderen Datei (mein Basismodul) bin das Hinzufügen, ich brauche es jetzt in jeder Datei enthalten?

Sie müssen das auch importieren. import "angular-ui-router"; oder fügen Sie einen Typverweis hinzu /// <reference types="angular-ui-router" />

Bitte nehmen Sie in tsconfig.json einen Schalter vor, der das alte Verhalten bewirkt. Ich kann mein Projekt derzeit nicht umgestalten :(

Bitte nehmen Sie in tsconfig.json einen Schalter vor, der das alte Verhalten bewirkt

Was ist der "alte" Weg?

Wenn Sie Deklarationsdateien verwenden, die Sie von Typings oder tsd erhalten haben, sollte dies ohne Änderung funktionieren. Dies gilt nur für die @types -Pakete auf npm. Wenn Sie sie im Moment nicht verwenden möchten, müssen Sie dies nicht tun.

Ich habe auch das gleiche Problem.

Gleiches Problem ... Nur @ types / angle installiert

importierter Winkel in Typoskriptdatei:
* als eckig aus 'eckig' importieren;

Der UI-Namespace ist jedoch auf ng nicht verfügbar.

Bekommen:

Das Modul 'eckig' hat kein exportiertes Element 'ui'.

Warum ist das geschlossen? Bedeutet das, dass es niemals behoben wird, oder gibt es ein anderes Problem dafür? (immer noch kaputt für mich)

Auch für mich immer noch kaputt

Und ist es immer noch

@asadsahi Das liegt daran, dass @types/angular tatsächlich kein ui Mitglied hat. Dieses Mitglied wird durch @types/angular-ui-router .

Welches muss separat installiert werden:

npm i -D @types/angular-ui-router

Hat jemand schon eine Lösung gefunden?
@mhegazy könntest du das Ticket wieder öffnen?

Ich habe dieses Problem gerade beim Versuch, den Angular-UI-Router von 1.0.0-Beta.1 auf 1.0.0-rc.1 zu aktualisieren. Ich möchte auch TS aktualisieren und das Tippen zugunsten von @types loswerden ... All dies habe ich in der von yeoman-fountain generierten Angular1-Anwendung erhalten. Es macht mich wütend, weil ich meine Zeit verschwende :(
@mhegazy Könnten Sie bitte das Ticket wieder öffnen?

Dies ist immer noch ein Problem. Meine Problemumgehung vorerst:

    "fix-duplicate-dts": "rimraf node_modules/@types/oclazyload/node_modules/@types/angular && rimraf node_modules/@types/angular-ui-bootstrap/node_modules/@types/angular && rimraf node_modules/@types/ngtoaster/node_modules/@types/angular && rimraf node_modules/@types/angular-translate/node_modules/@types/angular && rimraf node_modules/@types/angular-mocks/node_modules/@types/angular && rimraf node_modules/@types/angular-gridster/node_modules/@types/angular && rimraf node_modules/@types/angular-storage/node_modules/@types/angular && rimraf node_modules/@types/ui-select/node_modules/@types/angular",
    "postinstall": "npm run fix-duplicate-dts",
    "postuninstall": "npm run fix-duplicate-dts"

Manchmal muss ich die Aufgabe nur manuell ausführen, aber meistens wird sie mit dem Postinstall-Skript ausgeführt.

Ich hatte den gleichen Fehler Module 'angular' has no exported member 'xxx'. , nachdem ich meine Abhängigkeit auf @types/[email protected] aktualisiert hatte.
In meinem Fall bezog es sich auf mehrere Winkeltypdefinitionen in meinen node_modules. Winkeltypen wurden in node_modules/@types/angular und in node_modules/@types/ng-file-upload/node_modules/@types/angular .

Dies lag an der Tatsache, dass das Garn bei verschiedenen Versionen eckig aufgelöst wurde. Ich hatte zwei Einträge für Winkel mit unterschiedlicher Auflösung in der Datei yarn.lock:

"@types/angular@*":
  version "1.6.7"
  resolved "https://registry.yarnpkg.com/@types/angular/-/angular-1.6.7.tgz#8935a2b4a796fe7ca4f59f533f467804722fb0c4"
  dependencies:
    "@types/jquery" "*"

"@types/[email protected]":
  version "1.6.32"
  resolved "https://registry.yarnpkg.com/@types/angular/-/angular-1.6.32.tgz#fc791aad038227d9413eb5e552993e1076f8a509"

"@types/ng-file-upload@^11.1.31":
  version "11.1.34"
  resolved "https://registry.yarnpkg.com/@types/ng-file-upload/-/ng-file-upload-11.1.34.tgz#670fd0515c8e08668b27b7bbe30356b3b8011780"
  dependencies:
    "@types/angular" "*"

Das Entfernen der Garnverriegelung und das erneute Ausführen der Garninstallation haben das Problem behoben, aber in meinem Fall wurden zu viele andere Abhängigkeiten geändert.

Die Verwendung von Garninstallation --flat hätte das Problem wahrscheinlich gelöst, aber ich wollte nicht ändern, wie alle Abhängigkeiten gelöst werden.

Also habe ich das Problem behoben, indem ich die Datei yarn.lock manuell in geändert habe

"@types/angular@*", "@types/[email protected]":
  version "1.6.32"
  resolved "https://registry.yarnpkg.com/@types/angular/-/angular-1.6.32.tgz#fc791aad038227d9413eb5e552993e1076f8a509"

"@types/ng-file-upload@^11.1.31":
  version "11.1.34"
  resolved "https://registry.yarnpkg.com/@types/ng-file-upload/-/ng-file-upload-11.1.34.tgz#670fd0515c8e08668b27b7bbe30356b3b8011780"
  dependencies:
    "@types/angular" "*"
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen