يجب أن يعرض JSHint الوظائف التجريبية / غير المستقرة عبر تكوين يجعل هذه الحالة واضحة للمستهلكين. هذا ما أقترحه:
.jshintrc
:
{
"experimental": {
"expnt": true,
"async": true
}
}
التوجيهات المضمنة:
// jshint.experimental expnt: true
/* jshint.experimental async: true */
على الرغم من أنني أستخدم مقترحات المرحلة 2 الحالية في الأمثلة ، إلا أنني أرغب في تنفيذ آلية التكوين مسبقًا لأي خيار محدد.
لقد اخترت الكلمة الرئيسية "تجريبية" ، ولكني أيضًا أحب كلمة "غير مستقرة" لأنها توضح بشكل أكثر وضوحًا توقع حدوث تغييرات مفاجئة بين الإصدارات الرئيسية. @ jshint / core أي أفكار حول ذلك؟
experimental: true
و experimental: false
صالحة؟ (لتمكين / تعطيل كل ميزة تجريبية) (أنا ضد experimental: true
لأنه سيواجه نفس المشكلة وهي enforceall
)هل يعني experimental
esversion: 6
؟
إذا كانت الإجابة بنعم ، فهل يعني esversion: 5
experimental: false
؟
أي تقدم في هذا؟
لا شيء حتى الآن. الرجاء إخبارنا إذا كنت ترغب في المساعدة!
jugglinmike سأكون سعيدًا للمساعدة. لم أتطرق بعد إلى jshint حفظًا لاستخدامه في مشاريعي ، على الرغم من ذلك ، فقد يستغرق الأمر بعض الوقت ، لكنني سأبدأ في البحث هذا الأسبوع القادم. هل من الأفضل القيام بذلك كعلاقات عامة واحدة لإضافة experimental: []
وميزة تجريبية يمكنها الاستفادة منها؟
تضمين التغريدة كنت أتمنى تنفيذ منطق تحليل التكوين بشكل منفصل عن أي ميزة محددة. سيكون الحد الأدنى إلى حد ما ، وستكون قادرًا فقط على اختبار الخيار كما هو محدد عبر ملف RC (بشكل أساسي ، يجب ألا يؤدي هذا الخيار "experimental": {}
أخطاء - لا يوجد ما يعادل "فارغ" في السطر التوجيه).
أرى أنك استخدمت قوسين معقوفين في تعليقك. لست متأكدًا مما إذا كان هذا مجرد خطأ إملائي من جانبك ، ولكن الحل الذي وصفته يحدد هذا كقيمة كائن.
أنا ألغى تكليف نفسي في الوقت الحالي - يبدو أنني كنت متفائلًا جدًا عندما خلقت هذه المشكلة.
ما رأيك في السماح بـ experimental.option
؟
على سبيل المثال
// jshint option: true, experimental.option: true
وهو أقصر من
// jshint option: true
// jshint.experimental option: true
تحية للجميع،
هل يمكنني أن أسأل - هل هناك أي تقدم في هذه القضية؟
شكرا جزيلا.
أى اخبار؟
نريد أن نبدأ في استخدام ES7!
phra ما هي ميزة ES7 التي تواجه مشاكل معها عند استخدام JSHint؟
لقد حاولت للتو على الموقع الرسمي -> http://jshint.com/
حاول كتابة دالة ES7 غير متزامنة: تأخذ الكلمة الأساسية "غير متزامن" كمتغير وتلقي بالخطأ.
لا توجد مثل هذه الميزة في ES7 / ES2016. إليك مشاركة مدونة جيدة تسرد كامل ميزات ES7 / ES2016: http://www.2ality.com/2016/01/ecmascript-2016.html
http://kangax.github.io/compat-table/esnext/
وظيفة عدم المزامنة في المرحلة 3 من توحيد ES2017 ، وهي ليست بالفعل في المرحلة 4 ، لكن بابل تدعمها وهي رائعة جدًا وتوفر الوقت.
هل تخطط لتقديم الدعم لهم؟
JSCS يدعمهم -> http://jscs.info/rule/disallowSpacesInFunctionExpression
أنا أستخدم jshint و jscs لـ QA و jshint يمنعني من إضافة دعم وظيفة babel w / غير المتزامن إلى مشروعي.
وظيفة غير متزامنة في المرحلة 3 من توحيد ES2017
الميزة غاب عن الموعد النهائي ES2017. تلتزم JSHint بدعم المرحلة 2 أو ما بعدها ، ولكنها تتطلب موارد بشرية ووقتًا للتنفيذ.
تم الانتهاء الآن من async
و await
وفي أحدث مسودة لمواصفات ES2017.
كما أنهم يشحنون الآن في الكروم وفايرفوكس. هل يمكننا إعادة تقييم هذه القضية؟
[تحديث] الاقتراح منتهي لذا يجب أن يظهر في المسودة الأخيرة من ES2017 ، لكنه لا يظهر. لست متأكدا ما يعنيه ذلك.
[update2] آها! اندمجت للتو في المواصفات: https://github.com/tc39/ecma262/pull/692
async
و await
متوفران الآن في Node 7.6. أي تحديث على هذا ؟
هذه المشكلة هي الموقع النهائي لتتبع طلب الميزة ، لذلك إذا كان
كانت هناك أي معلومات جديدة ، يمكنك أن تتوقع العثور عليها هنا. هل بامكانك
ترغب في المساعدة؟
لا يزال لا يوجد دعم لانتظار / غير متزامن؟ حزين...
xduseko ، JSHint هو برنامج مفتوح المصدر تحتفظ به مجموعة متطوعين من المساهمين.
يمكن لأي شخص تفرع الريبو ، وتنفيذ غير متزامن / انتظار ، وإرسال طلب سحب مع الاختبارات. أو يمكن لأي شخص الانتظار حتى يجد الفريق الأساسي وقت فراغ كاف لتنفيذه.
ما الذي كنت تأمل أن تكسبه بتعليقك؟
xduseko نعم أوافق على أنه محزن بعض الشيء ولكن في النهاية سيكون هناك - أنا واثق من ذلك. :تمنيت:
إذا كان من أي راحة ؛ الآن JSLint لا يمتلكها أيضًا.
بسبب عدم التزامن / الانتظار ، حاولت الانتقال إلى ESLint ولكن كان ذلك بمثابة متاعب كبيرة. في النهاية عدت إلى JSHint. أي لينتر - أعتقد أن JSHint لا يزال هو الأفضل - يمثل قيمة هائلة عند كتابة JavaScript.
للتوافق ، أقوم فقط بتدريب عيني على تجاهل البيانات غير المتزامنة / الانتظار المميزة في IDE الخاص بي. 🙈
على عكس semmel ، لا يمكنني تدريب عيني على تجاهل الأخطاء غير المتزامنة / انتظار. في الواقع ، إذا استخدمت متغيرًا غير معلن قبل استخدام غير متزامن / انتظار ، فلن يظهر خطأ للمتغير غير المعلن وهذا نوع من الإزعاج.
هل هناك طريقة لجعل JSHint يتجاهل غير متزامن / ينتظر الأشياء في الوقت الحالي؟
دعم هذا.
هذه. يكون. مدهش.
هل expnt
أس ؟ إذا كان الأمر كذلك ، فهل يمكن أن يطلق عليه exponent
؟ Acrns dnt hlp unstdng.
هو الأس؟ إذا كان الأمر كذلك ، هل يمكن أن يطلق عليه اسم الأس؟ Acrns dnt hlp unstdng.
تضمين التغريدة
mikemaccana كان من المفترض أن يكون ، نعم. لقد حان وقت الدعم "غير المستقر" لعامل الأسي ، على الرغم من (سيكون متاحًا عبر esversion: 7
في الإصدار الثانوي التالي) ، لذلك لن نرى مطلقًا تنفيذ هذا الخيار المعين. نصيحتك مسموعة جيدًا ، على الرغم من ذلك ، شكرًا!
يبدو أن الحل الأكثر أناقة الآن هو إيجاد واستبدال async
بـ /* async */
والعكس صحيح إذا كنت تقوم بالتحقق من خلال موقع JSHint.
patrickdark هذا حل جزئي لـ gh-2604 ، لكنه للأسف لا يمثل AwaitExpressions.
التعليق الأكثر فائدة
async
وawait
متوفران الآن في Node 7.6. أي تحديث على هذا ؟