


berhati-hati! Perangkap penggabungan dan pemampatan fail menggunakan AngularJS digabungkan dengan kemahiran RequireJS_javascript
Rangka kerja AngularJS telah digunakan dalam projek dan RequireJS digunakan untuk pemuatan modul tak segerak (AMD) Semasa melakukan penggabungan dan pemampatan fail, saya menghadapi beberapa masalah yang telah diselesaikan, tetapi saya tidak memahami sebabnya.
Lubang-lubang itu
1. Laluan dalam build.js mesti konsisten dengan laluan dalam main.js.
Build.js ini ialah fail konfigurasi yang digunakan oleh r.js dan main.js ialah fail utama RequireJS. Apabila menggabungkan dan memampatkan, laluan juga perlu ditulis dalam fail build.js, dan ia masih sama seperti main.js keperluan untuk menyalin laluan semasa menggabungkan (saya cuba bahawa tiada laluan dalam build.js dan ia tidak boleh digabungkan). (-_-!!!)
2. Sesetengah perpustakaan bergantung perlu menulis keseluruhan laluan relatif sebelum digabungkan.
Dalam projek, saya menggunakan perpustakaan pihak ketiga yang dipanggil lapisan (pustaka ditulis dengan requireJS define Apabila saya hanya melakukan pembangunan pada mulanya, selepas mengkonfigurasi laluan dalam laluan, saya hanya perlu menggunakan singkatan). (define) untuk menggunakan pustaka ini. Tetapi apabila melakukan penggabungan, ia digesa bahawa fail itu tidak wujud (kerana singkatan itu digunakan secara langsung untuk mengeja alamat fail, saya hanya boleh mengubah suai penggunaan perpustakaan ini keseluruhan laluan relatif Pada masa ini, saya membangunkan Tidak salah dengan penggabungan.
3. Ia boleh dijalankan selepas digabungkan, tetapi tidak selepas pemampatan.
Ini adalah masalah yang paling serius, masalah yang paling serius, masalah yang paling serius. Selepas fail digabungkan dan dimampatkan, AngularJS berjalan secara tidak normal apabila menggunakan fail dan sentiasa melaporkan kegagalan pemulaan modul, Gagal membuat instantiate modul biasa disebabkan oleh: Ralat: [$injector:unpr] Pembekal tidak diketahui: e , seperti yang ditunjukkan di bawah.
Perkara yang sangat penting ialah ia boleh digunakan tanpa pemampatan Setelah dimampatkan (mampatan lalai digunakan), ralat akan dilaporkan apabila digunakan. Jadi saya fikir sesuatu mesti "dihancurkan". Sesetengah artikel di Internet mengatakan bahawa anda perlu menulis cntroller AngularJS, arahan, dll. seperti berikut, dan perkhidmatan yang digunakan ditakrifkan dalam rentetan.
commonModule.controller( "broswerCtrl" ,["$scope" ,"$sce" , function ($scope,$sce){
Tetapi keseluruhan aplikasi saya ditakrifkan dengan cara ini, dan tiada peluang untuk menyuntik ralat ke dalamnya. Akhirnya, saya tidak mempunyai pilihan selain mengkonfigurasi mangle: false tanpa mengelirukan nama pembolehubah Selepas melakukan ini, fail yang digabungkan dan dimampatkan boleh digunakan dengan betul! ! !
PS: Secara ringkasnya, penggabungan dan pemampatan boleh dilakukan, tetapi nama yang berubah-ubah tidak boleh dikelirukan (selalunya saya rasa masalah itu tiada penyelesaian buat masa ini).
4. Lapisan kedua keperluan tidak boleh digabungkan apabila menggabungkannya.
Sebagai contoh, jika anda memuatkan modul seperti ini dalam main.js, anda akan mendapati bahawa lapisan kedua keperluan belum digabungkan semasa penggabungan.
require([ "COMMON"], function(){ require([ "angular", "LOGIN" ], function(angular){ //.... }); });
Pada masa ini, anda perlu menambah findNestedDependencies: true kepada build.js, dan kemudian lapisan kedua akan digabungkan.
Persediaan gabungan
1. Pasang nodej
Penggabungan dan pemampatan fail adalah berdasarkan nodejs, jadi pasangkan nodejs dahulu.
2. Muat turun r.js
r.js bekerjasama dengan kaedah penulisan modul requirejs untuk menggabungkan dan memampatkan fail.
Konfigurasi mudah
Adalah yang terbaik untuk menulis build.js untuk fail konfigurasi, seperti berikut:
({ baseUrl:"../", paths: { //... }, shim: { //... }, optimize: "uglify2", uglify2: { mangle: false //false 不混淆变量名 }, findNestedDependencies: true, name: "js/main", out: "../js/main-built.js" })
Berikut ialah beberapa atribut utama:
baseUrl: Semua modul (biasanya js) wujud relatif kepada laluan ini.
optimumkan: Cara mengoptimumkan fail skrip Terdapat lima kaedah nilai di bawah.
- uglify: (Lalai) Dimampatkan dengan UglifyJS.
- uglify2: Dimampatkan dengan UglifyJS2 (2.1.2).
- penutupan: Gunakan mod pengoptimuman mudah Pengkompil Penutupan Google untuk memampatkan fail, hanya sah apabila alat pengoptimuman menggunakan Java.
- closure.keepLines: Sama seperti parameter penutupan, kecuali baris baharu dikekalkan.
- tiada: Tiada pemampatan.
findNestedDependencies: Cari dependensi yang dipanggil memerlukan atau takrifkan dalam require().
PS: Terdapat banyak lagi atribut konfigurasi, jadi saya tidak akan menerangkan secara terperinci. Apabila fail dikonfigurasikan, laksanakan arahan untuk menggabungkan dan memampatkan
node r.js -o build.js
Ringkasan
Penggabungan dan pemampatan modul RequireJS agak mudah, tetapi apabila ia datang kepada AngularJS, terdapat beberapa masalah dengan pemampatan, dan tiada cara yang lebih baik ditemui setakat ini.
Di atas adalah kandungan terperinci artikel ini, saya harap ia akan membantu kajian semua orang.

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Mengambil dua tatasusunan sebagai input, cuba gabungkan atau gabungkan dua tatasusunan dan simpan hasilnya dalam tatasusunan ketiga. Logik untuk menggabungkan dua tatasusunan adalah seperti berikut-J=0,k=0untuk(i=0;i<o;i++){//mergingtwoarrays if(a[j]<=b[k]){ c[i] =a[j]; j++ }lain{ &nbs

Dengan pemampatan memori pada Windows 11, peranti anda akan tercekik walaupun dengan jumlah RAM yang terhad. Dalam artikel ini, kami akan menunjukkan kepada anda cara mendayakan atau melumpuhkan pemampatan memori pada Windows 11. Apakah pemampatan memori? Pemampatan memori ialah ciri yang memampatkan data sebelum menulisnya ke RAM, sekali gus menyediakan lebih banyak ruang storan padanya. Sudah tentu, lebih banyak data yang disimpan dalam memori fizikal diterjemahkan kepada operasi sistem yang lebih pantas dan prestasi keseluruhan yang lebih baik. Ciri ini didayakan secara lalai dalam Windows 11, tetapi jika ia tidak aktif entah bagaimana, anda boleh melumpuhkan atau mendayakannya semula. Bagaimana untuk membolehkan pemampatan memori dalam Windows 11? Klik bar carian, taip powershell dan klik

Gambaran keseluruhan fungsi lanjutan tentang cara menggunakan HTML, CSS dan jQuery untuk melaksanakan paparan gabungan imej: Dalam reka bentuk web, paparan imej ialah pautan penting, dan paparan gabungan imej ialah salah satu teknik biasa untuk meningkatkan kelajuan memuatkan halaman dan pengalaman pengguna. Artikel ini akan memperkenalkan cara menggunakan HTML, CSS dan jQuery untuk melaksanakan fungsi lanjutan penggabungan dan paparan imej, dan menyediakan contoh kod khusus. 1. Reka letak HTML: Pertama, kita perlu mencipta bekas dalam HTML untuk memaparkan imej yang digabungkan. Anda boleh menggunakan di

Saya mendapati bahawa pakej termampat yang dimuat turun dari laman web muat turun tertentu akan lebih besar daripada pakej termampat asal selepas penyahmampatan Perbezaannya ialah berpuluh-puluh Kb dan berpuluh-puluh Mb jika fail kecil, jika terdapat banyak fail, kos penyimpanan akan meningkat dengan banyak. Saya telah membuat beberapa kajian mengenainya dan boleh belajar daripadanya jika perlu. Tahap mampatan: 9-mampatan melampau Saiz kamus: 256 atau 384, semakin dimampatkan kamus, semakin perlahan perbezaan kadar mampatan lebih besar sebelum 256MB dan tiada perbezaan dalam kadar mampatan selepas 384MB: maksimum 273 Parameter: f=BCJ2, uji dan tambah kadar mampatan parameter akan lebih tinggi

Bermula dengan cepat: Teknik penggabungan dan pemisahan tatasusunan JSON dalam Java Dalam pembangunan perisian moden, format dan penghantaran data telah menjadi semakin penting. Antaranya, JSON (JavaScriptObjectNotation) ialah format data yang biasa digunakan, terutamanya sesuai untuk interaksi hadapan dan belakang dan penyimpanan data. Dalam pembangunan Java, kita sering perlu berurusan dengan objek JSON dan tatasusunan JSON. Artikel ini menerangkan cara untuk menggabungkan dan memisahkan tatasusunan JSON dalam Java, bersama-sama dengan petua dan contoh untuk melaksanakan operasi ini.

Fail CSV (Comma Separated Values) digunakan secara meluas untuk menyimpan dan menukar data dalam format yang mudah. Dalam banyak tugas pemprosesan data, terdapat keperluan untuk menggabungkan dua atau lebih fail CSV berdasarkan lajur tertentu. Nasib baik, ini boleh dicapai dengan mudah menggunakan perpustakaan Pandas dalam Python. Dalam artikel ini, kita akan belajar cara menggabungkan dua fail CSV mengikut lajur tertentu menggunakan Panda dalam Python. Apakah perpustakaan Pandas? Pandas ialah perpustakaan sumber terbuka untuk kawalan maklumat dan pemeriksaan dalam Python. Ia menyediakan alatan untuk bekerja dengan data berstruktur (seperti jadual, siri masa dan data berbilang dimensi) dan struktur data berprestasi tinggi. Panda digunakan secara meluas dalam kewangan, sains data, pembelajaran mesin dan bidang lain yang memerlukan manipulasi data.

Cara menggunakan Nginx untuk memampatkan dan menyahmampat permintaan HTTP Nginx ialah pelayan web berprestasi tinggi dan pelayan proksi terbalik yang berkuasa dan fleksibel. Apabila memproses permintaan HTTP, anda boleh menggunakan modul gzip dan gunzip yang disediakan oleh Nginx untuk memampatkan dan menyahmampat permintaan untuk mengurangkan jumlah penghantaran data dan meningkatkan kelajuan tindak balas permintaan. Artikel ini akan memperkenalkan langkah khusus tentang cara menggunakan Nginx untuk memampatkan dan menyahmampat permintaan HTTP, dan memberikan contoh kod yang sepadan. Konfigurasikan modul gzip

Ramai rakan perlu merakam skrin untuk kerja pejabat atau memindahkan fail, tetapi kadangkala masalah fail yang terlalu besar menyebabkan banyak masalah berikut adalah penyelesaian kepada masalah fail yang terlalu besar, mari kita lihat. Apa yang perlu dilakukan jika fail rakaman skrin win10 terlalu besar: 1. Muat turun perisian Format Factory untuk memampatkan fail. Alamat muat turun >> 2. Masukkan halaman utama dan klik pilihan "Video-MP4". 3. Klik "Tambah Fail" pada halaman format penukaran dan pilih fail MP4 untuk dimampatkan. 4. Klik "Konfigurasi Output" pada halaman untuk memampatkan fail mengikut kualiti output. 5. Pilih "Kualiti dan Saiz Rendah" daripada senarai konfigurasi juntai bawah dan klik "OK". 6. Klik "OK" untuk melengkapkan import fail video. 7. Klik "Mula" untuk memulakan penukaran. 8. Selepas selesai, anda boleh
