Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 13010|Jawab: 1

[membutuhkan] Javascrip{filter}tmodule - memuat modul require.js

[Salin tautan]
Diposting pada 11/10/2017 09.31.50 | | |
Kekurangan pemuatan JS normal

Antarmuka perlu mulai dirender setelah js dimuat
Jika ada dependensi antara js, mereka perlu dimuat secara berurutan sesuai dengan dependensi. Jika dependensinya kompleks, lebih merepotkan untuk menulis dan memelihara kode
jadi, require.js muncul dalam suara massa rakyat yang luas.

Peran require.js

Terapkan pemuatan asinkron js untuk menghindari ketidakresponsan halaman
Kelola dependensi antar modul untuk memfasilitasi penulisan dan pemeliharaan kode

require.js pemuatan

Pertama, buka [situs resmi] http://requirejs.org/ unduh versi terbaru

Setor require.js yang diunduh atau disalin ke direktori proyek

Muat require.js di halaman yang diinginkan
Beban langsung: Tulis <scrip{filter}t src="js/require.js"></scrip{filter}t>
Pemuatan asinkron: <scrip{filter}t src="js/require.js" menunda async="true" ></scrip{filter}t>
Catatan: asinkron berarti file ini perlu dimuat secara asinkron untuk menghindari halaman web menjadi tidak responsif. IE tidak mendukung asinkron, jadi muat atribut defer;
Setelah require.js dimuat, langkah selanjutnya adalah memuat kode kita sendiri. Misalkan file kode kita sendiri main.js, juga ditempatkan di bawah direktori js. Jadi, tulis saja yang berikut ini: <scrip{filter}t src="js/require.js" data-main="js/main"></scrip{filter}t>
Fungsi atribut data-main adalah untuk menentukan modul utama program web. Dalam contoh di atas, file ini akan dimuat terlebih dahulu require.js main.js di bawah direktori js. Karena akhiran file default require.js adalah js, Anda dapat mendekhak main.js ke main.

Cara menulis modul utama

main.js dari bagian sebelumnya disebut modul utama. Artinya metode entri untuk seluruh modul.

Cara menulis main.js

Metode yang ditulis langsung ke main.js tanpa bergantung pada modul lain
main.function()
Modul utama tergantung pada modul lain, jadi gunakan fungsi require()
main.js
memerlukan(['modulA', 'modulB', 'modulC'], fungsi (modulA, modulB, modulC){
Beberapa kode di sini
});
Fungsi require() menerima dua parameter:
Parameter pertama adalah array yang mewakili modul yang akan bergantung
Parameter kedua adalah fungsi callback yang akan dipanggil setelah semua modul yang ditentukan di depan dimuat. Modul yang ditambahkan diteruskan dalam bentuk parameter, sehingga dapat digunakan di dalam fungsi callback.

Pemuatan modul

Contoh: Jika modul dependen dari modul utama (main.js) adalah ['jquery', 'crypto-js', 'anything']

Memuat secara default
Jika file dari ketiga modul dependen ini jquery.js, crypto-js.js, anything.js dan main.js di direktori yang sama, mereka dapat dimuat secara otomatis sesuai dengan bagian sebelumnya
Beban konfigurasi require.config()
require.config() ditulis di kepala modul utama (main.js).


Bagaimana modul AMD ditulis

require.js modul yang dimuat, menggunakan spesifikasi AMD. Artinya, modul harus ditulis sesuai dengan peraturan AMD.
Secara khusus, modul harus didefinisikan oleh fungsi define() tertentu. Jika modul tidak bergantung pada modul lain, modul tersebut dapat didefinisikan langsung dalam fungsi define()
Misalkan sekarang ada file math.js yang mendefinisikan modul matematika. Kemudian, math.js tulis:

Berikut cara memuat:


Jika modul juga bergantung pada modul lain, maka argumen pertama dari fungsi define() harus berupa array yang menunjukkan dependensi modul.

Ketika fungsi require() memuat modul di atas, itu akan memuat file myLib.js terlebih dahulu.

Muat modul non-AMD

Ada banyak modul di pasaran yang tidak memenuhi spesifikasi AMD, require.js dapat dimuat
Sebelum modul ini dapat dimuat, modul ini perlu diatur ke require.config() untuk menentukan beberapa karakteristiknya
Misalnya noamd.js dan noamddeps.js kedua modul adalah modul non-AMD, dan jika Anda ingin memuatnya, Anda harus menentukan karakteristiknya:

require.js menerima objek konfigurasi yang, selain properti jalur, juga memiliki properti shim khusus untuk mengonfigurasi modul non-AMD.
Secara khusus, setiap modul mendefinisikan:
- nilai ekspor (nama variabel output): menunjukkan nama modul saat dipanggil secara eksternal
- array deps: menunjukkan dependensi modul ini
Misalnya, plugin jQuery dapat didefinisikan seperti ini:


require.js plugin

require.js juga menawarkan berbagai plugin yang mengimplementasikan beberapa fitur khusus
Plugin domready memungkinkan fungsi callback berjalan setelah struktur DOM halaman dimuat:


plugin teks dan gambar, yang memungkinkan require.js memuat file teks dan gambar:


Plugin serupa termasuk JSON dan MDOWN untuk memuat file JSON dan Markdown.





Mantan:Hahahahaha
Depan:Koordinat Baidu dikonversi menjadi koordinat WGS84
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com