Definitelytyped: @ types / angular-ui-router | angular-ui-bootstrap | ترجمة الزاوية "الوحدة" الزاوي "ليس لها عضو مُصدَّر" ui "

تم إنشاؤها على ١٧ يوليو ٢٠١٦  ·  19تعليقات  ·  مصدر: DefinitelyTyped/DefinitelyTyped

  • [x] حاولت استخدام أحدث ملف angular-ui-router/angular-ui-router.d.ts في هذا الريبو وكان لدي مشاكل.

لا يعمل جهاز التوجيه الزاوي عند استخدام @ types / angular-ui-router.

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

كل ملف الآن باللون الأحمر ، ولن يتم تجميعه

يبدو أن وجود <reference types="angular" /> بجانب import * as angular from 'angular'; لن ينجح

نفس الشيء يحدث مع angular-ui-bootstrap

الوحدات التي تعتمد على @types/angular معطلة تمامًا. أنا لا أستخدم المتغير العام الزاوي وعندما أقوم باستخدام import * as angular from 'angular' فحاول الوصول إلى مساحة اسم الوحدة ، مثل angular.ui.bootstrap ، angular.translate ، angular.ui ، هم كلها تعطي الخطأ Module 'angular' has no exported member 'ui'

الكود أدناه فشل:

'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

التعليق الأكثر فائدة

نفس المشكلة ... فقط تثبيت @ types / angular

زاوية مستوردة في ملف مطبوع:
استيراد * كزاوية من "زاوية" ؛

ومع ذلك ، فإن مساحة اسم واجهة المستخدم غير متاحة في ng.

الحصول على:

الوحدة النمطية "angular" لا تحتوي على "ui" عضو مُصدر.

ال 19 كومينتر

يجب إصلاح ذلك من خلال https://github.com/DefinitelyTyped/DefinitelyTyped/pull/10170

يمكنك إما استخدامه كوحدة نمطية:

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);

أو كعالمية ولكن استخدم /// <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 هل هذا هو السلوك الجديد لـ 2.0+ عند استخدام @types ؟ لا يمكن أن يكون لديك جلوبال "حقيقي" التي تقوم بتضمينها مرة واحدة وهي متوفرة في كل مكان؟

@types/angular-ui-router و @types/angular-ui-bootstrap معطلين بالمناسبة

clipboard01

mhegazy هل هذا هو السلوك الجديد لـ 2.0+ عند استخدامtypes؟ لا يمكن أن يكون لديك جلوبال "حقيقي" التي تقوم بتضمينها مرة واحدة وهي متوفرة في كل مكان؟

تستطيع. /// <reference types="angular" /> يجب أن يجعل ng متاحًا في مجموعتك.

@ type / angular-ui-router و @ types / angular-ui-bootstrap لا تزال معطلة بالمناسبة

الأحدث في https://github.com/DefinitelyTyped/DefinitelyTyped/tree/types-2.0 يبدو مناسبًا لي. هل يمكنك الإشارة إلى ما لا يصلح لك؟
كيف تقوم باستيراد الزاوي؟

أنا أستخدم import * as angular from 'angular' . عندما أحاول استخدام angular.ui.IStateProvider (من angular-ui-router ) ، فإنه لا يوجد في الزاوية. حتى إذا قمت بإضافة جهاز التوجيه الزاوي ui في ملف آخر (الوحدة النمطية الأساسية الخاصة بي) ، فأنا الآن بحاجة إلى تضمينه في كل ملف؟

تحتاج إلى استيراد ذلك أيضًا. import "angular-ui-router"; أو أضف مرجع أنواع إليه /// <reference types="angular-ui-router" />

يرجى إجراء تبديل في tsconfig.json يجعله يتصرف بالطريقة القديمة ، ولا يمكنني إعادة صياغة مشروعي في هذه اللحظة بالذات :(

يرجى إجراء تبديل في tsconfig.json يجعله يتصرف بالطريقة القديمة

ما هي الطريقة "القديمة"؟

إذا كنت تستخدم ملفات التصريح التي حصلت عليها من الكتابة أو tsd ، فيجب أن تعمل بدون تغيير. هذا فقط لحزم @types على npm. إذا كنت لا ترغب في استخدامها في الوقت الحالي ، فلا داعي لذلك.

أنا أيضا أواجه نفس المشكلة.

نفس المشكلة ... فقط تثبيت @ types / angular

زاوية مستوردة في ملف مطبوع:
استيراد * كزاوية من "زاوية" ؛

ومع ذلك ، فإن مساحة اسم واجهة المستخدم غير متاحة في ng.

الحصول على:

الوحدة النمطية "angular" لا تحتوي على "ui" عضو مُصدر.

لماذا هذا مغلق؟ هل هذا يعني أنه لن يتم إصلاحه أبدًا ، أم أن هناك مشكلة أخرى له؟ (لا يزال محطمًا بالنسبة لي)

لا يزال محطمًا بالنسبة لي أيضًا

ولا يزال

asadsahi هذا لأن @types/angular لا يحتوي في الواقع على ui عضو. يتم تعريف هذا العضو بواسطة @types/angular-ui-router .

والتي يجب تركيبها منفصلة:

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

أي شخص وجد حلا حتى الآن؟
mhegazy هل يمكنك إعادة فتح التذكرة؟

لقد حصلت للتو على هذه المشكلة عند محاولة ترقية جهاز التوجيه الزاوي من 1.0.0-beta.1 إلى 1.0.0-rc.1. أريد أيضًا ترقية TS ، والتخلص من الكتابة لصالحtypes ... كل هذا حصلت عليه في تطبيق angular1 الذي أنشأته yeoman-fountain. يغضبني لأنني أضيع وقتي :(
mhegazy هل يمكنك إعادة فتح التذكرة؟

وما زالت هذه المسألة. الحل الخاص بي في الوقت الحالي:

    "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"

في بعض الأحيان ، يتعين عليّ فقط تشغيل المهمة يدويًا ، ولكن في معظم الأحيان يتم ذلك باستخدام البرنامج النصي لما بعد التثبيت.

كان لدي نفس الخطأ Module 'angular' has no exported member 'xxx'. بعد أن قمت بترقية التبعية إلى @types/[email protected] .
في حالتي كان مرتبطًا بالعديد من تعريفات النوع الزاوي في وحدات node_modules الخاصة بي. تم تعريف الأنواع الزاويّة في node_modules/@types/angular و node_modules/@types/ng-file-upload/node_modules/@types/angular .

كان هذا بسبب حقيقة أن الغزل حل الزاوي بإصدارات مختلفة. كان لدي إدخالان للزاوية بدقة مختلفة في ملف 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" "*"

أدت إزالة yarn.lock وإعادة تشغيل تثبيت الغزل إلى حل المشكلة ولكنها عدلت الكثير من التبعية الأخرى في حالتي.

من المحتمل أن يؤدي استخدام تثبيت الغزل - مسطح إلى حل المشكلة ولكني لم أرغب في تغيير كيفية حل جميع التبعيات.

لذلك أصلحت المشكلة عن طريق تغيير ملف yarn.lock يدويًا إلى

"@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" "*"
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات