Aplikasi sampel kami adalah program roll dadu yang membolehkan pengguna melancarkan dadu dan melihat sejarah. Kod penuh untuk aplikasinya boleh didapati di GitHub.
Ember.js mengintegrasikan banyak konsep dan teknologi JavaScript moden, termasuk tetapi tidak terhad kepada:
- menyokong ES2016 menggunakan penterjemah Babel.
- Unit standard, integrasi dan sokongan ujian penerimaan, yang dikuasakan oleh Testem dan QTest.
- Membina sumber menggunakan broccoli.js.
- Menyokong kitaran pembangunan semula dan memendekkan masa nyata.
- Gunakan sintaks templat handlebars.
- Routing URL lebih disukai untuk memastikan sokongan penuh untuk pautan yang mendalam.
- Bina lapisan data lengkap berdasarkan API JSON, tetapi kaedah akses API lain boleh dimasukkan seperti yang diperlukan.
yang diperhatikan, emer.js adalah semata-mata rangka kerja front-end. Ia mempunyai pelbagai cara untuk berinteraksi dengan backend pilihan anda, tetapi backend itu sendiri tidak dikendalikan oleh Ember.js.
mata utama
- Ember.js adalah rangka kerja JavaScript front-end yang komprehensif yang mengintegrasikan ciri dan alat JavaScript moden ke dalam satu pakej yang konsisten, sesuai untuk membina aplikasi web.
- Rangka kerja ini didasarkan pada prinsip "Konvensyen ke atas Konfigurasi" dan memudahkan proses pembangunan dengan menyediakan mungkir dan amalan terbaik yang munasabah, dengan itu mempercepat kitaran pembangunan dan mengurangkan masa persediaan.
- Ember-CLI (Interface Line Command Ember) adalah alat yang berkuasa yang menguruskan keseluruhan kitaran hayat pembangunan dari penciptaan projek dan pembangunan untuk menguji dan digunakan, dengan itu meningkatkan produktiviti dan kecekapan.
- Ember.js secara asli menyokong penghalaan URL yang kuat dan menghubungkan mendalam, memastikan aplikasi adalah mesra SEO dan mengekalkan keupayaan dengan struktur navigasi yang jelas.
- Rangka kerja ini mengandungi lapisan data terbina dalam untuk menguruskan interaksi data antara pelanggan dan pelayan.
- Ujian adalah warganegara kelas pertama di Ember.js, yang menyokong ujian unit, ujian integrasi dan ujian penerimaan, yang dikuasakan oleh alat seperti testem dan qtest, yang membantu memastikan kebolehpercayaan dan kualiti aplikasi anda.
- Ember.js menggunakan komponen dan templat untuk memudahkan perkembangan elemen antara muka pengguna yang boleh diguna semula dan dipelihara, memudahkan amalan terbaik dalam reka bentuk dan seni bina aplikasi web.
Pengenalan Ember-Cli
kuasa Ember.js berasal dari antara muka baris arahannya (CLI). Alat ini dipanggil Ember-CLI-memandu kebanyakan kitaran hayat pembangunan aplikasi Ember.js, daripada membuat aplikasi, menambah ciri, untuk menjalankan suite ujian dan melancarkan projek sebenar dalam mod pembangunan.
Apabila membangunkan aplikasi Ember.js, hampir semuanya akan melibatkan alat ini sedikit sebanyak, jadi penting untuk memahami cara terbaik menggunakannya. Kami akan menggunakannya dalam artikel ini.
Pertama sekali, kita perlu memastikan bahawa Ember.js CLI dipasang dengan betul dan dikemas kini. Ini boleh dilakukan dengan memasang dari NPM seperti berikut:
$ npm install -g ember-cli
kita boleh menyemak sama ada ia telah dipasang dengan jayanya dengan menjalankan arahan berikut:
$ ember --version ember-cli: 2.15.0-beta.1 node: 8.2.1 os: darwin x64
Buat aplikasi Ember.js pertama anda
Selepas memasang Ember-CLI, anda boleh mula membuat aplikasi. Di sinilah kita akan menggunakan alat Ember.js CLI untuk kali pertama - ia mewujudkan keseluruhan struktur aplikasi, menetapkan segala -galanya untuk dijalankan.
$ ember new dice-roller ... (安裝過程輸出) ...
Ini akan membuat aplikasi lengkap yang boleh dijalankan dengan segera. Ia juga menetapkan Git sebagai kawalan sumber untuk mengesan kerja anda.
NOTA: Anda boleh melumpuhkan integrasi Git jika anda mahu, atau anda boleh memilih untuk menggunakan benang dan bukannya npm. Ini dan banyak lagi diterangkan dalam dokumentasi bantuan alat.
Sekarang, mari kita lihat bagaimana rupanya. Gunakan Ember-CLI untuk memulakan Permohonan Ember untuk Pembangunan:
$ npm install -g ember-cli
Sekarang kita sudah bersedia. Permohonan ini dijalankan pada http://ipnx.cn/link/988aaaaa9bd19c1e0f8043a132bbbf1af3 seperti berikut:
mari kita mencubanya?
Halaman awal sudah memberitahu kita apa yang perlu dilakukan, jadi mari kita ubah halaman utama dan lihat apa yang berlaku. Kami akan menukar fail
untuk kelihatan seperti ini: app/templates/application.hbs
$ ember --version ember-cli: 2.15.0-beta.1 node: 8.2.1 os: darwin x64
NOTA: Tagperkara pertama yang perlu diperhatikan ialah output ember-cli, yang sepatutnya kelihatan seperti ini:adalah sebahagian daripada cara routing Ember berfungsi. Kami akan menutupnya kemudian.
{{outlet}}
$ ember new dice-roller ... (安裝過程輸出) ...Ini memberitahu kami bahawa kami telah menukar templat dan membina semula dan memulakan semula segala -galanya. Kami tidak mempunyai penyertaan dalam bahagian kandungan ini.
mari kita lihat penyemak imbas sekarang. Jika anda mempunyai Livereload yang dipasang dan dijalankan, anda tidak perlu menyegarkan penyemak imbas anda untuk mengambilnya, jika tidak, anda perlu memuatkan semula halaman semasa.
Walaupun ia tidak begitu menarik, kami mencapai ini tanpa meletakkan sebarang usaha.
Di samping itu, kami juga mendapat suite ujian sepenuhnya yang berfungsi. Seperti yang dijangkakan, ini juga dijalankan menggunakan alat Ember:
Perhatikan bahawa phantomjs disebut dalam output. Ini kerana ujian integrasi yang dijalankan dalam penyemak imbas disokong sepenuhnya, yang secara lalai berjalan tanpa kepala dalam penyemak imbas PhantomJS. Jika anda lebih suka, anda boleh menyokong sepenuhnya menjalankannya dalam pelayar lain, dan apabila menubuhkan Integrasi Berterusan (CI), ia patut dilakukan untuk memastikan aplikasi anda berfungsi dengan baik dalam semua penyemak imbas yang disokong.
$ cd dice-roller $ ember serve ... (啟動(dòng)過程輸出) ...
... (kandungan yang tinggal adalah serupa dengan teks asal. Beberapa ayat boleh diselaraskan seperti yang diperlukan untuk mengekalkan makna keseluruhan tidak berubah, dan format dan kedudukan imej dipelihara)
Atas ialah kandungan terperinci Ember.js: Rangka Kerja Sempurna untuk Aplikasi Web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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

Mekanisme pengumpulan sampah JavaScript secara automatik menguruskan memori melalui algoritma pembersihan tag untuk mengurangkan risiko kebocoran ingatan. Enjin melintasi dan menandakan objek aktif dari objek akar, dan tidak bertanda dianggap sebagai sampah dan dibersihkan. Sebagai contoh, apabila objek tidak lagi dirujuk (seperti menetapkan pembolehubah kepada null), ia akan dikeluarkan dalam pusingan seterusnya kitar semula. Punca kebocoran memori yang biasa termasuk: ① Pemasa atau pendengar peristiwa yang tidak jelas; ② Rujukan kepada pembolehubah luaran dalam penutupan; ③ Pembolehubah global terus memegang sejumlah besar data. Enjin V8 mengoptimumkan kecekapan kitar semula melalui strategi seperti kitar semula generasi, penandaan tambahan, kitar semula selari/serentak, dan mengurangkan masa menyekat benang utama. Semasa pembangunan, rujukan global yang tidak perlu harus dielakkan dan persatuan objek harus dihiasi dengan segera untuk meningkatkan prestasi dan kestabilan.

Terdapat tiga cara biasa untuk memulakan permintaan HTTP dalam node.js: Gunakan modul terbina dalam, axios, dan nod-fetch. 1. Gunakan modul HTTP/HTTPS terbina dalam tanpa kebergantungan, yang sesuai untuk senario asas, tetapi memerlukan pemprosesan manual jahitan data dan pemantauan ralat, seperti menggunakan https.get () untuk mendapatkan data atau menghantar permintaan pos melalui .write (); 2.AXIOS adalah perpustakaan pihak ketiga berdasarkan janji. Ia mempunyai sintaks ringkas dan fungsi yang kuat, menyokong async/menunggu, penukaran JSON automatik, pemintas, dan lain -lain. Adalah disyorkan untuk memudahkan operasi permintaan tak segerak; 3.Node-Fetch menyediakan gaya yang serupa dengan pengambilan penyemak imbas, berdasarkan janji dan sintaks mudah

Jenis data JavaScript dibahagikan kepada jenis primitif dan jenis rujukan. Jenis primitif termasuk rentetan, nombor, boolean, null, undefined, dan simbol. Nilai -nilai tidak berubah dan salinan disalin apabila memberikan nilai, jadi mereka tidak mempengaruhi satu sama lain; Jenis rujukan seperti objek, tatasusunan dan fungsi menyimpan alamat memori, dan pembolehubah menunjuk objek yang sama akan mempengaruhi satu sama lain. Typeof dan Instanceof boleh digunakan untuk menentukan jenis, tetapi memberi perhatian kepada isu -isu sejarah TypeOfNull. Memahami kedua -dua jenis perbezaan ini dapat membantu menulis kod yang lebih stabil dan boleh dipercayai.

Helo, pemaju JavaScript! Selamat datang ke berita JavaScript minggu ini! Minggu ini kami akan memberi tumpuan kepada: Pertikaian tanda dagangan Oracle dengan Deno, objek masa JavaScript baru disokong oleh pelayar, kemas kini Google Chrome, dan beberapa alat pemaju yang kuat. Mari mulakan! Pertikaian tanda dagangan Oracle dengan percubaan Deno Oracle untuk mendaftarkan tanda dagangan "JavaScript" telah menyebabkan kontroversi. Ryan Dahl, pencipta Node.js dan Deno, telah memfailkan petisyen untuk membatalkan tanda dagangan, dan dia percaya bahawa JavaScript adalah standard terbuka dan tidak boleh digunakan oleh Oracle

Rangka kerja JavaScript mana yang terbaik? Jawapannya ialah memilih yang paling sesuai mengikut keperluan anda. 1. REACT adalah fleksibel dan bebas, sesuai untuk projek sederhana dan besar yang memerlukan penyesuaian tinggi dan keupayaan seni bina pasukan; 2. Angular menyediakan penyelesaian lengkap, sesuai untuk aplikasi peringkat perusahaan dan penyelenggaraan jangka panjang; 3. Vue mudah digunakan, sesuai untuk projek kecil dan sederhana atau perkembangan pesat. Di samping itu, sama ada terdapat timbunan teknologi sedia ada, saiz pasukan, kitaran hayat projek dan sama ada SSR diperlukan juga faktor penting dalam memilih rangka kerja. Singkatnya, tidak ada kerangka terbaik, pilihan terbaik adalah yang sesuai dengan keperluan anda.

IIFE (Segera Dilanjutkan FunctionExpression) adalah ekspresi fungsi yang dilaksanakan dengan segera selepas definisi, digunakan untuk mengasingkan pembolehubah dan mengelakkan mencemarkan skop global. Ia dipanggil dengan membungkus fungsi dalam kurungan untuk menjadikannya ungkapan dan sepasang kurungan segera diikuti olehnya, seperti (fungsi () {/code/}) ();. Penggunaan terasnya termasuk: 1. Elakkan konflik berubah -ubah dan mencegah pertindihan penamaan antara skrip berganda; 2. Buat skop peribadi untuk menjadikan pembolehubah dalaman tidak kelihatan; 3. Kod modular untuk memudahkan permulaan tanpa mendedahkan terlalu banyak pembolehubah. Kaedah penulisan biasa termasuk versi yang diluluskan dengan parameter dan versi fungsi anak panah ES6, tetapi perhatikan bahawa ungkapan dan ikatan mesti digunakan.

Janji adalah mekanisme teras untuk mengendalikan operasi tak segerak dalam JavaScript. Memahami panggilan rantaian, pengendalian ralat dan gabungan adalah kunci untuk menguasai aplikasi mereka. 1. Panggilan rantai mengembalikan janji baru melalui .then () untuk merealisasikan persamaan proses tak segerak. Setiap .then () menerima hasil sebelumnya dan boleh mengembalikan nilai atau janji; 2. Pengendalian ralat harus menggunakan .catch () untuk menangkap pengecualian untuk mengelakkan kegagalan senyap, dan boleh mengembalikan nilai lalai dalam tangkapan untuk meneruskan proses; 3. Gabungan seperti janji.all () (berjaya hanya berjaya selepas semua kejayaan), janji.race () (penyempurnaan pertama dikembalikan) dan janji.allsettled () (menunggu semua penyelesaian)

CACHEAPI adalah alat yang disediakan oleh penyemak imbas kepada permintaan rangkaian cache, yang sering digunakan bersempena dengan ServiceWorker untuk meningkatkan prestasi laman web dan pengalaman luar talian. 1. Ia membolehkan pemaju menyimpan sumber secara manual seperti skrip, helaian gaya, gambar, dan lain -lain; 2. Ia boleh memadankan tindak balas cache mengikut permintaan; 3. Ia menyokong memotong cache tertentu atau membersihkan seluruh cache; 4. Ia boleh melaksanakan keutamaan cache atau strategi keutamaan rangkaian melalui perkhidmatan pekerja yang mendengar acara mengambil; 5. Ia sering digunakan untuk sokongan luar talian, mempercepat kelajuan akses berulang, sumber utama dan kandungan kemas kini latar belakang; 6. Apabila menggunakannya, anda perlu memberi perhatian kepada kawalan versi cache, sekatan penyimpanan dan perbezaan dari mekanisme caching HTTP.
