Dari kode sumber require.js (baris 1902):
/**
* The function that handles definitions of modules. Differs from
* require() in that a string for the module should be the first argument,
* and the function to execute after dependencies are loaded should
* return a value to define the module corresponding to the first argument's
* name.
*/
The define()
Fungsi menerima dua parameter opsional (string yang mewakili ID modul dan berbagai modul yang diperlukan) dan satu diperlukan parameter (metode pabrik).
Kembalinya metode pabrik HARUS mengembalikan implementasi untuk modul Anda (dengan cara yang sama seperti Pola Modul ).
The require()
fungsi tidak harus kembali pelaksanaan modul baru.
Menggunakan define()
Anda meminta sesuatu seperti "jalankan fungsi yang saya lewat sebagai parameter dan tetapkan apa pun yang kembali ke ID yang saya lewati tetapi, sebelumnya, periksa apakah dependensi ini dimuat" .
Menggunakan require()
Anda mengatakan sesuatu seperti "fungsi yang saya lewati memiliki dependensi berikut, periksa apakah dependensi ini dimuat sebelum menjalankannya" .
The require()
Fungsi adalah di mana Anda menggunakan modul Anda didefinisikan, dalam rangka untuk memastikan bahwa modul didefinisikan, tetapi Anda tidak mendefinisikan modul baru di sana.
define()
), sampai adarequire([])
panggilan yang memintanya, atau sesuatu yang bergantung padanya." github.com/jrburke/requirejs/wiki/…"define" metode untuk memfasilitasi definisi modul dan "memerlukan" metode untuk menangani pemuatan ketergantungan
define digunakan untuk mendefinisikan modul yang dinamai atau tidak disebutkan namanya berdasarkan proposal menggunakan tanda tangan berikut:
mengharuskan di sisi lain biasanya digunakan untuk memuat kode dalam file JavaScript tingkat atas atau dalam modul jika Anda ingin secara dinamis mengambil dependensi
Lihat https://addyosmani.com/writing-modular-js/ untuk informasi lebih lanjut.
sumber
Aturan umum:
Anda menggunakan define ketika Anda ingin mendefinisikan modul yang akan digunakan kembali
Anda menggunakan hanya perlu memuat ketergantungan
Semoga ini bisa membantu Anda.
sumber
membutuhkan () dan define () keduanya digunakan untuk memuat dependensi. Ada perbedaan utama antara kedua metode ini.
Guys sangat sederhana
Require (): Metode digunakan untuk menjalankan fungsi langsung. define (): Metode digunakan untuk mendefinisikan modul untuk digunakan di banyak lokasi (digunakan kembali).
sumber