أريد أن يكون values
مصفوفة مختلطة إما object
أو number
.
// Violates 'array-type' rule
const values: (object | number)[] = []
// Violates 'prefer-array-literal' rule
const values: Array<object | number> = []
بتكوين tslint.json
:
{
"extends": [
"tslint:latest",
"tslint-eslint-rules",
"tslint-config-airbnb"
]
}
كيف يمكنني كتابة الكود الخاص بي حتى لا أخالف القاعدتين؟ هل يتعارض هذان الاثنان مع بعضهما البعض ويجب أن أتخلى عن قاعدة واحدة؟
يبدو أن prefer-array-literal
غير متوافق مع التكوين الافتراضي لقاعدة array-type
. لا يتم الحفاظ على هذه القاعدة بواسطة tslint ، إنها جزء من tslint-microsoft-contrib . يمكنك تعيين الخيار "array"
على array-type
لحملهم على العمل معًا. قد ترغب في تقديم مشكلة على tslint-config-airbnb حول هذا الموضوع.
بالنسبة إلى كل شخص يصل إلى هنا من بحث Google ، يمكن أيضًا إصلاح ذلك دون تغيير قاعدة array-type
وإعادة تنسيق استخدامات المصفوفة. تمكين الخيار allow-type-parameters
في prefer-array-literal
:
{
"rules": {
"prefer-array-literal": [true, { "allow-type-parameters": true }]
}
}
إغلاق خارجي. لا تتردد في نشر مشكلة على tslint-microsoft-contrib
!
التعليق الأكثر فائدة
بالنسبة إلى كل شخص يصل إلى هنا من بحث Google ، يمكن أيضًا إصلاح ذلك دون تغيير قاعدة
array-type
وإعادة تنسيق استخدامات المصفوفة. تمكين الخيارallow-type-parameters
فيprefer-array-literal
: