Angular-cli: يرجى تقديم أمثلة لمكتبات الجهات الخارجية ذات التبعيات npm أو الدعم في أداة cli

تم إنشاؤها على ١٠ يوليو ٢٠١٦  ·  2تعليقات  ·  مصدر: angular/angular-cli

إصدار العقدة v4.4.6 ، إصدار npm v2.15.5

تعتبر صفحة libs wiki الحالية للجهات الخارجية رائعة:

https://github.com/angular/angular-cli/wiki/3rd-party-libs

ومع ذلك ، لا تحتوي جميع الأمثلة الثلاثة الحالية على تبعيات npm. كنت أحاول اليوم استخدام حافظة angular2 من npm ، لكن ذلك يعتمد على الحافظة التي تعتمد بدورها على 3 وحدات أخرى. لجعله يعمل ، كان على AFAICT I تقديم تعيينات لجميع الوحدات النمطية الخمسة إلى SystemJS. لست متأكدًا من أنني كنت بحاجة إلى أول 2 فقط عندما كنت أستخدم npmcdn ، ولكن بمجرد استخدام الإصدار المحلي ، توقف طلب التبعيات الثلاثة للحافظة عن حلها.

هل كنت أتبع النهج الخاطئ لحل هذه الوحدات؟ إذا لم يكن الأمر كذلك ، فيبدو أن أداة cli يمكنها النظر في تبعيات npm وملفات package.json لمعرفة الملفات الموجودة في شجرة التبعيات التي ستحتاج إلى تعيينها؟ من المسلم به أن هذه الشجرة كانت بسبب استخدام npm v2 و npm v3 كان من الممكن أن يكون أكثر تسطحًا ، لكن AFAICT ستوجد نفس المشكلة مع الحاجة إلى تعيين كل تبعية في الشجرة أسفل lib لجهة خارجية معينة.

أحب أن يكون لديك القدرة على "ng install-lib angular2-module" أو شيء من هذا القبيل لأتمتة هذه الخطوات ، FWIW - يبدو أن هناك بيانات كافية في ملفات package.json للقيام بذلك ، ومع النظام البيئي المأمول سريع النمو من مكونات angular2 للجهات الخارجية كإصدارات angular2 ، سيكون من الأجمل بكثير أن يكون لديك دعم CLI لتثبيتها. :ابتسامة:

هيك ، إذا لم تكن هناك بيانات كافية في ملفات package.json الحالية ، فقم بتعريف angular-cli.json (أو angular-cli-package.json أو أيًا كان) بحيث يمكن لمثل هذه المشاريع أن تضيف ذلك _توفر_ البيانات اللازمة. :ابتسامة:

على أي حال ، هذا هو تكوين systemjs الذي انتهيت من استخدامه للحصول على عمل angular2-clipboard - يرجى إعلامي إذا كانت هناك طريقة أبسط / أفضل والمشكلة الحقيقية هنا هي PEBCAK بدلاً من ذلك. :غمزة:

/***********************************************************************************************
 * User Configuration.
 **********************************************************************************************/
/** Map relative paths to URLs. */
const map: any = {
  // 'angular2-clipboard':         'https://npmcdn.com/[email protected]',
  // 'clipboard':                  'https://npmcdn.com/[email protected]/dist/clipboard.js',

    'angular2-clipboard': 'vendor/angular2-clipboard',
    'clipboard':          'vendor/angular2-clipboard/node_modules/clipboard/lib/clipboard.js',
    'tiny-emitter':       'vendor/angular2-clipboard/node_modules/clipboard/node_modules/tiny-emitter/index.js',
    'good-listener':      'vendor/angular2-clipboard/node_modules/clipboard/node_modules/good-listener/dist/good-listener.js',
    'select':             'vendor/angular2-clipboard/node_modules/clipboard/node_modules/select/dist/select.js',
};

/** User packages configuration. */
const packages: any = {
    'angular2-clipboard': { main: 'index.js', defaultExtension: 'js' },
};
RFC / discussion / question

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

تم إغلاقها لأن الإصدار أصبح قديمًا برقم 1455. يجب أن يعمل هذا السيناريو الآن فقط.

ال 2 كومينتر

تم إغلاقها لأن الإصدار أصبح قديمًا برقم 1455. يجب أن يعمل هذا السيناريو الآن فقط.

تم قفل هذه المشكلة تلقائيًا بسبب عدم النشاط.
يرجى تقديم مشكلة جديدة إذا كنت تواجه مشكلة مشابهة أو ذات صلة.

اقرأ المزيد عن سياسة قفل المحادثة التلقائي .

_تم تنفيذ هذا الإجراء تلقائيًا بواسطة روبوت ._

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

brtnshrdr picture brtnshrdr  ·  3تعليقات

daBishMan picture daBishMan  ·  3تعليقات

NCC1701M picture NCC1701M  ·  3تعليقات

rwillmer picture rwillmer  ·  3تعليقات

IngvarKofoed picture IngvarKofoed  ·  3تعليقات