Jshint: JSHint melempar kesalahan saat memasukkannya sebagai modul requirejs

Dibuat pada 21 Jan 2016  ·  5Komentar  ·  Sumber: jshint/jshint

Hai,

Sebagai bagian dari POC yang saya kembangkan, saya telah menyiapkan sampel kecil yang memungkinkan aplikasi sudut saya bekerja dengan requirejs. Sekarang saya berencana untuk mengintegrasikan JsHint. Satu-satunya persyaratan adalah tidak ada nodejs.

Saya telah mengambil file js dari folder dist rilis dan memuatnya sebagai modul yang diperlukan. Tetapi ketika melakukannya, saya mendapatkan kesalahan berikut
jshint_error

TypeError Tidak Tertangkap: _.each bukan fungsi

Semua modul lain yang saya muat melalui require baik-baik saja seperti bootstrap dan angular. Saya telah mencoba memasukkan garis bawah.js dan memuatnya sebelum jshint tetapi tidak berhasil.

Apakah ini bug dengan jshint atau saya melakukan sesuatu yang salah. di bawah ini adalah kode untuk bootstrap requirejs saya

membutuhkan.config({
baseUrl: 'skrip',
jalur: {
'jshint':'lib/jshint/jshint',
'sudut': 'lib/sudut/sudut.min',
'angular-route': 'lib/angular/angular-route.min'

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

});

memerlukan
(
[
'aplikasi'
],
fungsi (aplikasi)
{
angular.bootstrap(dokumen, ['aplikasi']);
}
);

Komentar yang paling membantu

Entah kenapa kehadiran requirejs (atau mungkin AMD secara umum) membuat loading lodash gagal.
Ini berfungsi di v2.6.3, tetapi mulai gagal di v2.7.0

Saya memiliki sampel yang menunjukkan sampel dengan v2.9.3 . Kesalahan dari alat Pengembang:

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
  ...

Sebaliknya,

Ada ide?

Semua 5 komentar

Saya berharap garis bawah tidak ditandai sebagai ketergantungan jshint. Juga, jshint modern menggunakan lodash, jadi mungkin ada beberapa masalah kompatibilitas dengan lodash, meskipun saya meragukannya.

Hanya spitballin

Saya telah menghadapi masalah yang sama... Ada solusi?

Entah kenapa kehadiran requirejs (atau mungkin AMD secara umum) membuat loading lodash gagal.
Ini berfungsi di v2.6.3, tetapi mulai gagal di v2.7.0

Saya memiliki sampel yang menunjukkan sampel dengan v2.9.3 . Kesalahan dari alat Pengembang:

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
  ...

Sebaliknya,

Ada ide?

Di SystemJS, Anda perlu menentukan format sebagai global (sebagai lawan dari AMD atau CommonJS) dalam meta sesuai https://github.com/systemjs/systemjs/blob/master/docs/module-formats. md#global

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) {
    // ...
})

Perhatikan bahwa Webpack secara otomatis mendeteksi format.

Semoga ini akan membantu dengan requireJS.

Entah kenapa kehadiran requirejs (atau mungkin AMD secara umum) membuat loading lodash gagal.
Ini berfungsi di v2.6.3, tetapi mulai gagal di v2.7.0

Saya memiliki sampel yang menunjukkan sampel dengan v2.9.3 . Kesalahan dari alat Pengembang:

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
  ...

Sebaliknya,

Ada ide?

Setelah 2.6.3 berubah dari Garis Bawah ke Lodash.
Centang 'var _ = require("garis bawah");' di 2.6.3 dan 'var _ = require("lodash");' di 2.12.10

Apakah halaman ini membantu?
0 / 5 - 0 peringkat