Jshint: يطرح JSHint خطأ عند تضمينه كوحدة تتطلب js

تم إنشاؤها على ٢١ يناير ٢٠١٦  ·  5تعليقات  ·  مصدر: jshint/jshint

أهلا،

كجزء من POC الذي أقوم بتطويره ، أعددت عينة صغيرة تسمح لتطبيقي الزاوي بالعمل مع needjs. الآن أخطط لدمج JsHint. الشرط الوحيد هو عدم وجود nodejs.

لقد أخذت ملف js من مجلد dist للإصدار وقمت بتحميله كوحدة نمطية مطلوبة. ولكن عند القيام بذلك ، يظهر لي الخطأ التالي
jshint_error

خطأ نوع غير معلوم: _.each ليس دالة

تتطلب جميع الوحدات الأخرى التي قمت بتحميلها من خلال جيدة مثل التمهيد والزاوية. لقد حاولت تضمين undercore.js وتحميله قبل jshint ولكن دون جدوى.

هل هذا خطأ في jshint أم أفعل شيئًا خاطئًا. أدناه هو رمز الخاص بي المتطلب bootstrapping

need.config ({
baseUrl: "البرامج النصية" ،
مسارات: {
'jshint': 'lib / jshint / jshint' ،
"الزاوي": "lib / angular / angular.min"،
'الزاوية-الطريق': 'lib / angular / angular-route.min'

},
shim: {
    'app': {
        deps: ['jshint','angular', 'angular-route']
    },
    'angular-route': {
        deps: ['angular']
    }
}

}) ؛

يتطلب
(
[
'تطبيق'
] ،
وظيفة (التطبيق)
{
angular.bootstrap (المستند ، ["التطبيق"]) ؛
}
) ؛

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

بطريقة أو بأخرى ، فإن وجود needjs (أو ربما AMD بشكل عام) يجعل تحميل لوداش يفشل.
إنه يعمل في v2.6.3 ، لكنه يبدأ في الفشل في v2.7.0

لدي عينة تظهره عينة مع v2.9.3 . الخطأ من أدوات المطور:

VM104 jshint.js:15777 
Uncaught TypeError: _.each is not a function
  require.14.lodash @ VM104 jshint.js:15777
  s @ VM104 jshint.js:6
  (anonymous function) @ VM104 jshint.js:6
  ...

فى المقابل،

اي فكرة؟

ال 5 كومينتر

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

فقط spitballin

لقد واجهت نفس المشكلة ... هل من حلول؟

بطريقة أو بأخرى ، فإن وجود needjs (أو ربما AMD بشكل عام) يجعل تحميل لوداش يفشل.
إنه يعمل في v2.6.3 ، لكنه يبدأ في الفشل في v2.7.0

لدي عينة تظهره عينة مع v2.9.3 . الخطأ من أدوات المطور:

VM104 jshint.js:15777 
Uncaught TypeError: _.each is not a function
  require.14.lodash @ VM104 jshint.js:15777
  s @ VM104 jshint.js:6
  (anonymous function) @ VM104 jshint.js:6
  ...

فى المقابل،

اي فكرة؟

في SystemJS ، تحتاج إلى تحديد التنسيق كـ global (على عكس AMD أو CommonJS) في meta وفقًا لـ https://github.com/systemjs/systemjs/blob/master/docs/module-formats. md # جلوبالس

SystemJS.config({
    baseURL: './js',
    defaultJSExtensions: true,
    paths: {
        'jquery': './js/vendor/jquery/jquery-3.2.1.min.js',
        // ...
    },
    meta: {
        './js/vendor/codemirror/addon/lint/jshint.js': { format: 'global' }
    }
});
SystemJS.import('./js/app.js').then(function (app) {
    // ...
})

لاحظ أن Webpack يكتشف التنسيق تلقائيًا.

نأمل أن هذا سوف يساعد في يتطلب JS.

بطريقة أو بأخرى ، فإن وجود needjs (أو ربما AMD بشكل عام) يجعل تحميل لوداش يفشل.
إنه يعمل في v2.6.3 ، لكنه يبدأ في الفشل في v2.7.0

لدي عينة تظهره عينة مع v2.9.3 . الخطأ من أدوات المطور:

VM104 jshint.js:15777 
Uncaught TypeError: _.each is not a function
  require.14.lodash @ VM104 jshint.js:15777
  s @ VM104 jshint.js:6
  (anonymous function) @ VM104 jshint.js:6
  ...

فى المقابل،

اي فكرة؟

بعد 2.6.3 تم تغييرها من Underscore إلى Lodash.
تحقق من 'var _ = يتطلب ("شرطة سفلية") ؛' في 2.6.3 و "فار _ = تتطلب (" لوداش ") ؛" في 2.12.10

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

القضايا ذات الصلة

MtDalPizzol picture MtDalPizzol  ·  7تعليقات

Daniel-Hug picture Daniel-Hug  ·  3تعليقات

derekdata picture derekdata  ·  11تعليقات

nzakas picture nzakas  ·  10تعليقات

SidNM picture SidNM  ·  7تعليقات