Scout-app: لا يمكن قراءة خاصية "التقسيم" غير المعرفة

تم إنشاؤها على ٥ يونيو ٢٠١٩  ·  11تعليقات  ·  مصدر: scout-app/scout-app

أهلا،
كنت أعمل على 2.12.12 وكل شيء يعمل ، والآن انتقلت إلى 2.18.16 وبعد قليل يحفظه توقف عن العمل. عندما أقوم بالتراجع عن التغييرات ، يكون الأمر على ما يرام ، ولكن هناك نفس الخطأ في كل تغيير تالٍ.

image

confirmed-bug

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

أهلا.

لدي نفس المشكلة فقط باستخدام Visual Studio ، ولكن عند استخدام Notepad ++ أو محرر آخر ، يتم تجميعه بشكل صحيح.

عندما أقوم بإيقاف المشروع وتشغيله ، فإنه دائمًا ما يتم تجميعه بشكل صحيح في أي محرر.

حاولت ضبط "Atomic يحفظ التأخير" على أي قيمة ، فلن يحل المشكلة.

هل تبحث عن المزيد في الكود ، ولكن مجرد وضع setTimeout على وظيفة App.js _processInputFolder_ (السطر 61) سيحل مشكلتي.
ومع ذلك ، فأنا أعلم أن هذا ليس حلاً ، ولكن ربما تتعلق المشكلة بتأخير بسيط في حفظ ملف في Visual Studio.

استخدام:
ويندوز 10 برو 64 بت
استوديو مرئي 1.38.1
XAMPP (يتم تقديم ملفات الخادم محليًا)

function processInputFolder (project, inputSubFolder) {


        setTimeout(function() {
            var inputFolder = project.inputFolder;

            if (inputSubFolder) {
                inputFolder = path.join(project.inputFolder, inputSubFolder);
            }
            // Grab all the files in the input folder and put them in an array
            ugui.helpers.readAFolder(inputFolder, function (contents) {
                // check each file and process it if it is sass or scss and doesn't start with an underscore
                for (var i = 0; i < contents.length; i++) {
                    var folder = contents[i].isFolder;
                    var currentName = contents[i].name;
                    if (folder) {
                        var subfolder = currentName;
                        if (inputSubFolder) {
                            subfolder = path.join(inputSubFolder, currentName);
                        }
                        processInputFolder(project, subfolder);
                    // Skip all files that begin with an _ and Process all sass/scss files
                    } else if (!currentName.startsWith('_') && (currentName.toLowerCase().endsWith('.sass') || currentName.toLowerCase().endsWith('.scss'))) {
                        // Change from 'some-file.scss' to 'some-file'
                        var fileName = currentName.slice(0, -5);
                        // Change from 'some-file.scss' to '.scss'
                        var extension = currentName.substring(currentName.length - 5, currentName.length);
                        // send to be converted to css and spit out into the output folder
                        convertToCSS(project, fileName, extension, inputSubFolder);
                    }
                }
            });
        }, 100);
    }

ال 11 كومينتر

يأتي الخطأ من محاولة التصرف بناءً على البيانات التي تعود من قراءة ملفك عندما لا تعود البيانات. هذا شيء يمكنني تحسينه ، لكن في النهاية هذا مجرد معالجة حالة الخطأ بشكل أفضل. لن يساعدك ذلك في حل مشكلتك الحقيقية ، وهي عدم العثور على الملف.

لا أعرف سبب وجود مشكلات في العثور على الملف في بعض الأحيان وليس غيرها. أظن أنه مرتبط بـ "Atomic Saves". يمكنك محاولة إيقاف مشروع ، وتغيير قيمة شريط التمرير في الإعدادات ، ثم بدء تشغيله مرة أخرى.

بدون أن أكون قادرًا على إعادة إنتاج هذا ، لا أعرف سبب حدوثه. سأضع علامة على هذا على أنه خطأ ، فقط حتى نتمكن من التعامل بشكل أفضل مع حالات الخطأ.

أهلا.

لدي نفس المشكلة فقط باستخدام Visual Studio ، ولكن عند استخدام Notepad ++ أو محرر آخر ، يتم تجميعه بشكل صحيح.

عندما أقوم بإيقاف المشروع وتشغيله ، فإنه دائمًا ما يتم تجميعه بشكل صحيح في أي محرر.

حاولت ضبط "Atomic يحفظ التأخير" على أي قيمة ، فلن يحل المشكلة.

هل تبحث عن المزيد في الكود ، ولكن مجرد وضع setTimeout على وظيفة App.js _processInputFolder_ (السطر 61) سيحل مشكلتي.
ومع ذلك ، فأنا أعلم أن هذا ليس حلاً ، ولكن ربما تتعلق المشكلة بتأخير بسيط في حفظ ملف في Visual Studio.

استخدام:
ويندوز 10 برو 64 بت
استوديو مرئي 1.38.1
XAMPP (يتم تقديم ملفات الخادم محليًا)

function processInputFolder (project, inputSubFolder) {


        setTimeout(function() {
            var inputFolder = project.inputFolder;

            if (inputSubFolder) {
                inputFolder = path.join(project.inputFolder, inputSubFolder);
            }
            // Grab all the files in the input folder and put them in an array
            ugui.helpers.readAFolder(inputFolder, function (contents) {
                // check each file and process it if it is sass or scss and doesn't start with an underscore
                for (var i = 0; i < contents.length; i++) {
                    var folder = contents[i].isFolder;
                    var currentName = contents[i].name;
                    if (folder) {
                        var subfolder = currentName;
                        if (inputSubFolder) {
                            subfolder = path.join(inputSubFolder, currentName);
                        }
                        processInputFolder(project, subfolder);
                    // Skip all files that begin with an _ and Process all sass/scss files
                    } else if (!currentName.startsWith('_') && (currentName.toLowerCase().endsWith('.sass') || currentName.toLowerCase().endsWith('.scss'))) {
                        // Change from 'some-file.scss' to 'some-file'
                        var fileName = currentName.slice(0, -5);
                        // Change from 'some-file.scss' to '.scss'
                        var extension = currentName.substring(currentName.length - 5, currentName.length);
                        // send to be converted to css and spit out into the output folder
                        convertToCSS(project, fileName, extension, inputSubFolder);
                    }
                }
            });
        }, 100);
    }

عجيب. نظرًا لأنه لا يمكنني إعادة إنتاج هذا ، فليس لدي أي وسيلة لتجربته ، لكنني أشعر بالفضول إذا كان هذا الإصلاح يأتي من حلقة حدث JS وحتى تعيين وقت خارج 0 سيظل يعمل ، أو إذا كان هو مجرد جزء من نظام التشغيل يدعي أن الملف قد تم الوصول إليه في وقت أبكر مما هو عليه بالفعل. إذا كانت هذه هي الثانية ، فإن 100 مللي ثانية ستخفف من المشكلة لمعظم ، ولكن ليس كلها ، أو لا في كل حالة ، لأنها ستعتمد على موارد الأجهزة والنظام بالنسبة إلى مقدار الوقت الذي يستغرقه الوصول إلى الملف مرة أخرى.

في كلتا الحالتين ، سيعمل ربط مدة المهلة لتتناسب مع شريط التمرير الذري ، حيث سيكون لها دائمًا حد أدنى من التأخير يبلغ 0 مللي ثانية لتتسبب في دورة حلقة الحدث ، ولكنها قد تسمح بتعيين تأخير 700 مللي ثانية لأولئك على الأجهزة البطيئة.

نفس الشيء يحدث لي. إن إيقاف وبدء المراقب هو الطريقة الوحيدة لمعالجة الساس.

كود الاستوديو المرئي: v1.38.1 (b37e54c98e1a74ba89e03073e5a3761284e3ffb0)
نظام التشغيل: Windows 10.0.18362 x64

هذا يحدث لي الآن أيضًا. عندما أبدأ مشروعًا ، يتم تجميعه بشكل جيد ، ولكن عندما أقوم بإجراء تغييرات بعد ذلك ، فإنه يعطيني خطأ في أدوات التطوير: "خطأ في النوع غير معلوم: لا يمكن قراءة الخاصية" تقسيم "من غير محدد". إذا أوقفته ، فابدأ من جديد ، فإنه يعالج التغييرات ، ولكن بعد ذلك يعطي الخطأ مرة أخرى ما لم يتم إيقافه. يحدث في جميع مشاريعي. أنا أستخدم Atom 1.42.0 على نظام التشغيل Windows 10.

تمكنت أخيرًا من إعادة إنتاج المشكلة باستمرار. لقد أضفت بعض عمليات فحص الأمان الأفضل ورسالة تحذير مفيدة لإرشاد الأشخاص إلى رفع إعدادات تأخير الحفظ الذري إذا كانوا يواجهون ذلك (على أمل تقليل مقدار مشكلات GitHub التي تم إنشاؤها حوله).

تم دمج هذا لإتقان وسيكون في الإصدار القادم من Scout-App.

هل سيكون هناك تبديل بين التشغيل والإيقاف معًا؟ تضمين التغريدة

لا ، هناك شريط تمرير يأخذ التأخير من 0 إلى 700 ملي ثانية. لذا فإن التأخير "0 مللي ثانية" سيكون "متوقفًا".

بادئ ذي بدء ، شكرًا جزيلاً على هذا التطبيق الذي أحبه ؛).
اعتدت العمل مع Atom وهو يعمل مثل السحر. استخدمت مؤخرًا كود Visual studio وحصلت على نفس الخطأ.
لذلك ربما لم يتم حل المشكلة بعد وأنا أستخدم Scout-App V2.18.16.

نفس الخطأ سجل الخطأ نفسه. يعمل بعد أن قمت بتعديل scout-files / _scripts / app.js وإضافة مهلة لهذه العملية InputFolder مثل
يعتبر

الإصلاح في master ، لم يكن هناك إصدار مع الإصلاح فيه حتى الآن. يمكنك تشغيل التعليمات البرمجية من الفرع master إذا كان هذا يمنعك ، في الوقت الحالي.

مرحبا @ TheJaredWilcurt شكرا جزيلا على ردك. كل شيء يعمل بعد إضافة مهلة لهذه العمليةInputFolder ، لكن في بعض الأحيان تحتاج إلى حفظ الملف مرتين لتجميعه (وهي ليست مشكلة كبيرة - ربما أحتاج إلى اللعب مع هذا timout val !!).
نعم ، إنني أتطلع إلى إصدارك القادم ، وآمل أن أرى الإصلاح مدمجًا فيه.
يعتبر

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