إصدار العقدة 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' },
};
تم إغلاقها لأن الإصدار أصبح قديمًا برقم 1455. يجب أن يعمل هذا السيناريو الآن فقط.
تم قفل هذه المشكلة تلقائيًا بسبب عدم النشاط.
يرجى تقديم مشكلة جديدة إذا كنت تواجه مشكلة مشابهة أو ذات صلة.
اقرأ المزيد عن سياسة قفل المحادثة التلقائي .
_تم تنفيذ هذا الإجراء تلقائيًا بواسطة روبوت ._
التعليق الأكثر فائدة
تم إغلاقها لأن الإصدار أصبح قديمًا برقم 1455. يجب أن يعمل هذا السيناريو الآن فقط.