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
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']);
}
);
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.0Saya 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,
- sampel dengan karya
- sampel dengan v.2.7.0 mulai gagal.
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
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:
Sebaliknya,
Ada ide?