أقترح تغيير تلميح جافا سكريبت لاستخدام ESLint لدعم أفضل لميزات ES6 +.
أود أن أكون قادرًا على استخدام خصائص الفصل وعدم التزامن / في انتظار أكثر من غيره ، ولكن هناك أيضًا الكثير من قواعد الفحص الأخرى التي تعمل بشكل أفضل بكثير من jshint.
class Foo {
bar = 'baz';
}
async function foo () {
const bar = await baz();
}
لم أبحث في مدى صعوبة استبدال جافا سكريبت لينتر ، لذلك لا أعرف مدى واقعية هذا الطلب.
هذه فكرة جيدة ومطلوبة أيضًا لـ # 3180.
يمكننا أن نبنيها على ملفات الويب التجريبية الخاصة بـ ESLint.
العمل Pleaaaase على هذه المسألة.
تم إصدار إصدار JSHint الجديد 2.10.0 مع دعم الميزات الجديدة.
كحل مؤقت مؤقت - لقد استخدمت نص مكتوب بلغة ACE ، فقد تم انتظاره بالفعل / غير متزامن.
لا يظهر الخط المطبوع خطأ .. ولكنه بعد ذلك يفتقد الكثير من الأخطاء الأخرى.
إنه ليس فقط غير متزامن / ينتظر كل بناء جملة es6 بما في ذلك عوامل الرياضيات الجديدة مثل 8**2
اعتبارًا من اليوم ، هذه المشكلة عمرها 3 سنوات . لقد تم إيقاف React منذ فترة ، لذا من المؤكد أن الطلب يتزايد على هذا الأمر. لا يزال المشروع نشطًا إلى حد كبير ، ولكن لا يوجد ما يشير إلى وجود هذا في أي خريطة طريق رسمية ويبدو أنه مجرد ، "نعم هذا ما نحتاج إلى القيام به ، وسنفعله على الأرجح."
هل يمكننا _please_ الحصول على نوع من التحديث هنا؟ nightwing ؟ تضمين التغريدة
لقد وجدت هذا أثناء محاولتي العثور على linter لملفات CSS ، وتلاعبت هيئة المحلفين بشيء خاص بي ، _ / mode / javascript_worker.js_ 🔗
يبدو أن هذا التكوين يشير إلى أنه تم إعداده بالفعل لدعم ESNext ، على الأقل عند العمل في وضع عامل Javascript لعامل جافا سكريبت. شخصيا لم يلقي هذا أي ضوء ، ولكن ربما هذا يمكن أن يساعد واحد منكم
حاولت إعادة بناء ace بعد استبدال ملف jshint.js بأحدث. هذا يمنع ظهور خطأ غير متزامن / انتظار. ومع ذلك ، فإنه يوقف أيضًا عرض الأخطاء لسيناريوهات أخرى (الأقواس المفقودة ، والسلاسل غير المغلقة ، وما إلى ذلك). محبط للغاية ، أفترض أن مشروع الآس قد مات.
لقد كنت أتعامل مع هذا أيضًا وتمكنت من إنجاحه. يمكن تحديث التوثيق ، وكان من المؤلم معرفة كيفية عمل النظام البيئي بأكمله (استغرق عدة ساعات) ثم تعلم أن كل التغيير المطلوب هو سطر واحد ...: /
يوجد خيارين:
1) إذا قمت للتو باستيراد الإصدار المحزم / المصغر - يلزم استبدال: "esnext:! 0" بـ "esversion: 9"
https://raw.githubusercontent.com/ajaxorg/ace-builds/master/src-min/worker-javascript.js
2) يمكنك التحقق من الريبو وبناء نفسك. (يستغرق الأمر حوالي دقيقة واحدة ، لذلك هذا أيضًا سهل إلى حد ما)
git clone [email protected]:ajaxorg/ace.git
npm install
nano +82 lib/ace/mode/javascript_worker.js // replace "esnext: true," with "esversion: 9"
node Makefile.dryice.js full --target ../ace-builds
تحديث : منذ أن وجدت تعليقي الأخير طريقة أخرى:
var editor = ace.edit("editor");
editor.session.on('changeMode', function(e, session){
if ("ace/mode/javascript" === session.getMode().$id) {
if (!!session.$worker) {
session.$worker.send("setOptions", [{
"esversion": 9,
"esnext": false,
}]);
}
}
});
editor.session.setMode("ace/mode/javascript");
مدهش!! هل هناك ما يشير إلى ما إذا كان بإمكانك تحديد إصدارات أخرى ، مثل 6 لـ ES6 وما إلى ذلك؟
سأضيف أيضًا ، في حال كان الآخرون جددًا على git أو لم يقوموا بإعداد SSH الخاص بهم مع Github ، يمكنك أيضًا استنساخه باستخدام: git clone https://github.com/ajaxorg/ace.git/
. _ تعثرت في ذلك مرة أكثر مما أود أن أعترف به_
التعليق الأكثر فائدة
العمل Pleaaaase على هذه المسألة.