cari
Rumahhujung hadapan webtutorial jsBermula dengan Ember dan Ember CLI

Getting started with Ember and Ember CLI

mata teras

    Ember CLI adalah alat baris perintah yang dibina untuk Ember, yang menggabungkan pelbagai fungsi seperti penjana, pemampat, pengkompil preprocessor CSS, penambahbaikan automatik dan pemuat modul ES6. Ia boleh digunakan sebagai alternatif kepada alat seperti Grunt dan Gulp untuk menubuhkan projek Ember baru.
  • Ember mengikuti konsep bahawa konvensyen lebih baik daripada konfigurasi, yang bermaksud ia mempunyai banyak tetapan lalai yang memudahkan proses pembangunan. Unsur-unsur utama termasuk penghalaan, pengawal, templat, komponen, dan data Ember.
  • Tutorial ini menyediakan panduan langkah demi langkah mengenai cara membina aplikasi pengurus hubungan mudah menggunakan Ember CLI. Ia merangkumi keupayaan membuat projek Ember baru, menetapkan data tetap, menghasilkan model pengguna dan penghalaan, mewujudkan templat pengguna, dan menambah paparan dan penyuntingan maklumat pengguna.
  • Ember adalah rangka kerja JavaScript yang kuat untuk membina aplikasi web yang besar. Dengan Ember CLI, ia menyediakan persekitaran pembangunan piawai yang menjadikannya lebih mudah untuk menguruskan kebergantungan, mengautomasikan tugas, dan melaksanakan amalan terbaik.
Ember telah mengalami banyak perubahan selama bertahun -tahun. Perubahan terbesar ialah pengenalan Ember CLI, alat baris arahan yang dibina untuk Ember. Ia menggabungkan pelbagai fungsi seperti penjana, pemampat, compiler preprocessor CSS, penambahbaikan automatik dan loader modul ES6. Alat baris arahan ini akan membantu anda mengurangkan masa yang anda habiskan untuk menyediakan alat seperti Grunt dan Gulp. Ia boleh dikatakan alternatif yang baik untuk alat ini untuk mana -mana projek Ember baru. Dalam artikel ini, anda akan belajar bagaimana untuk membina aplikasi pengurus hubungan mudah menggunakan Ember CLI. Tutorial ini sedikit berbeza daripada artikel lain tentang Ember yang saya hantar di SitePoint kerana mereka tidak datang dengan Ember CLI. Walau bagaimanapun, kebanyakan konsep ini masih berlaku, jadi saya cadangkan anda menyemaknya dan terus belajar. Kod lengkap untuk artikel ini boleh didapati di GitHub.

Cara memasang Ember Cli

Untuk memasang Ember CLI, anda perlu memasang beberapa kebergantungan terlebih dahulu. Yang pertama ialah Node.js. Anda memerlukan sekurang -kurangnya versi 0.12.x. Seterusnya, anda perlu memasang Bower, yang boleh dilakukan dengan menjalankan perintah berikut:

npm install -g bower
Kemudian, untuk memasang Ember CLI, jalankan arahan berikut:

npm install -g ember-cli
bagaimana untuk membuat projek Ember baru

Sebelum memulakan operasi yang indah, anda perlu membuka terminal dan melaksanakan arahan berikut untuk membuat folder projek baru yang dipanggil ContactManager:

ember new contactmanager
Langkah kedua, pergi ke direktori dan pasang semua kebergantungan npm dan bower menggunakan arahan berikut:

cd contactmanager
npm install
bower install
Pada masa ini, mulakan pelayan Ember terbina dalam dengan melaksanakan perintah berikut:

ember serve
Anda kini boleh mengakses aplikasi baru anda di URL Localhost: 4200. Ini adalah port lalai untuk aplikasi Ember yang berjalan pada komputer tempatan, tetapi anda boleh mengubahnya seperti yang anda suka. Jika anda mengikuti semua langkah yang diarahkan, anda kini harus melihat tajuk dalam penyemak imbas anda yang mengatakan "Selamat Datang ke Ember".

Konvensyen dan Struktur Ember

Sebelum kita menyelam ke dalam permohonan, mari kita semak beberapa konvensyen Ember.

Router dan Router

Routing adalah titik masuk untuk aplikasi Ember. Definisi penghala digunakan dalam fail app/router.js. Mereka membolehkan anda mengakses bahagian yang berlainan aplikasi. Sebagai contoh, jika anda memutuskan bahawa anda perlu menguruskan pengguna dalam aplikasi anda, anda mesti menentukan laluan pengguna. Anda boleh melakukan ini menggunakan sintaks berikut:

npm install -g bower

ini akan mewujudkan URL berikut untuk kami:

  • /pengguna/
  • /pengguna/indeks/
  • /pengguna/loading/

oleh konvensyen, apabila anda menentukan laluan, Ember mengharapkan untuk mencari jenis persatuan lain, seperti laluan, pengawal, dan templat. Kita boleh membuat keputusan untuk mencipta jenis ini secara eksplisit, atau membenarkan Ember mencipta mereka untuk kita. Dalam banyak aplikasi, anda kemungkinan besar perlu membuatnya sendiri, tetapi terpulang kepada anda. Ingat, adalah penting untuk membezakan antara router dan laluan. Struktur URL yang kami buat di atas dilakukan menggunakan penghala. Ini hanya menunjukkan niat yang kita mahu menggunakan URL ini dalam aplikasi. Kami belum membuat laluan sebenar, tetapi hanya URL untuk laluan tersebut. Untuk membuat laluan, kami perlu mengikuti proses ini dalam folder Laluan. Jika anda keliru, jangan risau, kerana saya akan melihat topik ini lebih mendalam kemudian dalam artikel ini.

pengawal

Controller adalah jenis yang digunakan untuk menyimpan Negeri Lihat, yang terletak di folder App/Controllers. Mereka bekerja bersempena dengan penghalaan. Dalam kes ini, URL di atas sepadan dengan /pengguna /dan memerlukan pengawal yang dinamakan /pengguna /. Juga di sini, kita bebas memilih sama ada untuk menentukannya sendiri. Pengawal juga mentakrifkan pengendali acara untuk melihat operasi (seperti klik, hovers, dan lain -lain).

template

Templat adalah bahagian perwakilan Ember. Anda menulisnya dalam bahasa templat yang dipanggil hendal, yang dikumpulkan kepada HTML tulen. Templat ini terletak di folder App/Templates.

Komponen

Komponen adalah blok fungsi serba lengkap yang kecil. Anda boleh memikirkannya sebagai gabungan perwakilan dan ciri -ciri, mereka boleh diguna semula dan mudah dijaga.

Ember-Data

Ini adalah perpustakaan yang dikendalikan oleh pasukan Ember Core yang melengkapkan Core Ember dan bertindak sebagai ORM front-end untuk menguruskan model data. Terdapat alternatif lain yang saya tidak gunakan sebelum ini dan keluar dari skop artikel ini, kerana kami akan menggunakan Ember-Data.

App

Aplikasi Pengurusan Kenalan yang akan kami bina akan termasuk senarai pengguna dan maklumat hubungan mereka yang tersedia. Aplikasi ini akan membolehkan kami membuat, mengedit, memadam dan melihat pengguna. Untuk membuat permohonan kami ringkas dan jelas, kami akan menggunakan penyesuai tetap yang datang dengan Ember CLI. Ini bertindak sebagai backend, kecuali data tidak berterusan apabila halaman disegarkan. Pertama, jika anda belum menciptanya, gunakan Ember New ContactManager untuk membuat projek Ember baru.

Menjana model pengguna

pindah ke folder projek dan menghasilkan model pengguna menggunakan arahan berikut:

npm install -g ember-cli

ini akan membuat fail bernama user.js dalam aplikasi/model, dengan kandungan berikut:

npm install -g bower

Buat perubahan yang diperlukan supaya pernyataan eksport kelihatan seperti ini:

npm install -g ember-cli

Ini mentakrifkan sifat -sifat model pengguna kami akan ada.

Menjana laluan pengguna

Sekarang, tambahkan baris berikut ke fail router.js anda untuk memberi kami beberapa URL yang tersedia:

ember new contactmanager

Kami mempunyai tiga URL baru. Satu adalah untuk menyenaraikan pengguna, yang lain adalah untuk melihat pengguna individu, dan yang terakhir adalah untuk mengedit maklumat pengguna. Seterusnya, mari buat laluan pengguna menggunakan arahan berikut:

cd contactmanager
npm install
bower install

Laluan ini akan digunakan untuk mengambil senarai pengguna kami. Tukar kandungannya menggunakan coretan kod berikut:

ember serve

Tetapkan data tetap dan menjana templat pengguna

Pada ketika ini, mari tambahkan beberapa data sementara ke aplikasi kami. Untuk melakukan ini, jalankan arahan berikut:

Router.map(function() {
  this.resource('users', function() {});
});

Ini akan menghasilkan fail yang dinamakan Application.js dalam apl/ penyesuai/ folder. Secara lalai, Ember menggunakan RestAdapter untuk menanyakan model. Penyesuai ini menganggap bahawa anda mempunyai sistem backend yang menyediakan data JSON ke aplikasi Ember Client anda. Oleh kerana kita tidak mempunyai backend, dalam kes ini kita mahu menggunakan data tetap. Oleh itu, kami akan mengemas kini kod penyesuai seperti berikut:

ember generate model user

dan tambahkan yang berikut kepada model pengguna anda untuk membuat beberapa lekapan.

import DS from 'ember-data';

export default DS.Model.extend({
});

Jika anda menavigasi ke url localhost: 4200/pengguna, anda hanya akan melihat mesej ucapan lama, dan bukan pengguna yang disematkan data yang kami tambah. Untuk melihat data pengguna, kita perlu membuat templat untuk pengguna menggunakan arahan berikut:

export default DS.Model.extend({
  firstName: DS.attr(),
  lastName: DS.attr(),
  addressLine: DS.attr(),
  postCode: DS.attr(),
  country: DS.attr()
});

Ini mewujudkan fail yang dinamakan users.hbs dalam aplikasi/ templat/ folder. Buka fail ini dan kemas kini kandungannya seperti berikut:

Router.map(function() {
  this.resource('users', function() {
    this.route('show',{path: '/:user_id'});
    this.route('edit',{path: '/:user_id/edit'});
  });
});

Anda kini harus melihat senarai pengguna, masing -masing dengan teks edit di sebelahnya. Kerana kita hanya mempunyai satu pengguna dalam data tetap, kita hanya akan melihat satu pengguna. Anda boleh menambah lebih banyak objek pengguna ke perlawanan pengguna seperti yang diperlukan. Hanya pastikan setiap objek mempunyai ID yang unik.

Tunjukkan pengguna individu

Sekarang bahawa kami telah menyenaraikan pengguna kami, mari kita lihat bagaimana untuk memaparkan maklumat penuh pengguna. Pertama. Tukar kod dalam template pengguna dengan melampirkan teks "edit" di sebelah setiap nama pengguna dengan pautan. Kemudian, tukar "edit" ke:

ember generate route users

Seterusnya, mari menghasilkan pengawal pengguna menggunakan arahan berikut:

import Ember from 'ember';

export default Ember.Route.extend({
  model: function(){
    return this.store.find('user');
  }
});

di dalam (pengawal pengguna), tukar kandungan kepada yang berikut:

ember generate adapter application

Selepas selesai, gunakan arahan berikut untuk menghasilkan templat untuk mengedit pengguna:

import DS from 'ember-data';

export default DS.FixtureAdapter.extend({
});

Pada masa ini, templat yang dibuat (app/templat/pengguna/show.hbs) kosong. Buka dan tambahkan kod berikut:

User.reopenClass({
   FIXTURES: [{
      id: 1,
      firstName: 'James',
      lastName: 'Rice',
      addressLine: '66 Belvue Road',
      postCode: 'M235PS',
      country: 'United Kingdom'
   }]
});

Lakukan ini dan anda harus dapat melihat maklumat penuh untuk setiap pengguna yang anda klik.

edit pengguna tunggal

Jika anda ingin mengedit pengguna tunggal, anda perlu mengikuti beberapa langkah mudah. Pertama, pautan ke pengguna mengedit laluan dengan melampirkan teks "edit" di sebelah setiap nama pengguna dengan pautan. Kemudian, tukar "edit" ke:

npm install -g bower

Seterusnya, mari menghasilkan pengawal pengguna menggunakan arahan berikut:

npm install -g ember-cli

di dalam (pengawal pengguna), tukar kandungan kepada yang berikut:

ember new contactmanager

Selepas selesai, gunakan arahan berikut untuk menghasilkan templat untuk mengedit pengguna:

cd contactmanager
npm install
bower install

dalam aplikasi template baru/templat/pengguna/edit, tampal kod berikut:

ember serve

Kod ini memanggil fungsi SaveUser () pada pengawal kami apabila menyerahkan borang. Fungsi ini melewati pengguna yang diedit dan menyimpan maklumat yang diubah suai. Dengan perubahan ini, anda boleh mengedit butiran pengguna apabila anda mengklik pada pautan edit untuk pengguna. Apabila anda mengklik butang Simpan, anda boleh menyimpannya, selepas itu anda akan diarahkan kembali ke senarai pengguna. Long Live! Kami kini mempunyai pengurus senarai kenalan mudah. Anda boleh mengubahnya menjadi aplikasi penuh dengan menyambungkannya ke backend sebenar untuk meneruskan data apabila halaman menyegarkan. Saya juga menggalakkan anda untuk menambah fungsi memadam ke aplikasi supaya anda boleh memadam pengguna yang tidak diingini pada bila -bila masa.

Kesimpulan

Ember https://www.php.cn/link/0e0f9e664029e8912996d65c1cf09761 adalah rangka kerja untuk membina aplikasi web yang besar. Ia mempunyai idea bahawa konvensyen lebih baik daripada konfigurasi, yang bermaksud ia berdasarkan beberapa keputusan biasa dan mempunyai banyak kegagalan (konvensyen), yang menjadikan proses pembangunan anda lebih mudah. Dengan cara ini, anda tidak perlu membuat banyak keputusan remeh semasa proses pembangunan. Saya harap anda suka membaca tutorial ini dan mempelajari perkara -perkara baru tentang cara menggunakan kerangka JavaScript yang kuat dan mudah dalam projek anda. Tolong beritahu kami apa yang anda fikirkan dalam komen di bawah. Anda boleh mencari kod untuk aplikasi di GitHub.

soalan yang sering ditanya mengenai memulakan dengan Ember dan Ember CLI

Apakah perbezaan antara Ember dan Ember CLI?

Ember adalah rangka kerja JavaScript untuk membina aplikasi web, dan Ember CLI adalah alat baris arahan yang membantu anda membuat, membangun, dan membina aplikasi Ember. Ember CLI menyediakan persekitaran pembangunan piawai yang menjadikannya lebih mudah untuk menguruskan kebergantungan, mengautomasikan tugas, dan melaksanakan amalan terbaik.

bagaimana memasang Ember CLI?

Untuk memasang Ember CLI, anda perlu memasang Node.js dan NPM pada sistem anda. Selepas memasang prasyarat ini, anda boleh memasang Ember CLI menggunakan arahan berikut di terminal: npm install -g ember-cli.

Saya mendapat mesej ralat yang mengatakan "Anda mesti berada di dalam projek Ember CLI untuk menggunakan perintah servis". Apa maksudnya?

Ralat ini berlaku apabila anda cuba menjalankan arahan ember serve di luar direktori projek Ember CLI. Untuk menyelesaikan masalah ini, gunakan arahan ember serve untuk menavigasi ke direktori akar projek sebelum menjalankan cd.

Bagaimana untuk membuat aplikasi Ember baru menggunakan Ember CLI?

anda boleh menggunakan arahan ember new diikuti dengan nama permohonan untuk membuat aplikasi Ember baru. Sebagai contoh, ember new my-app akan membuat aplikasi Ember baru yang dipanggil "My-App".

Perintah Ember CLI asas apa yang harus saya tahu?

beberapa perintah Ember CLI asas yang harus anda ketahui termasuk ember new (buat aplikasi baru), ember serve (mulakan pelayan pembangunan), ember generate (menghasilkan fail baru), dan ember build (bina aplikasi anda program untuk penempatan).

Bagaimana membina permohonan saya untuk pengeluaran menggunakan Ember CLI?

anda boleh menggunakan arahan ember build dan tetapkan pilihan --environment untuk "pengeluaran" untuk membina permohonan anda untuk pengeluaran. Perintah itu kelihatan seperti ini: ember build --environment production.

Bagaimana untuk menghasilkan fail baru dalam aplikasi Ember saya menggunakan Ember CLI?

anda boleh menggunakan arahan ember generate diikuti dengan jenis fail dan namanya untuk menghasilkan fail baru dalam aplikasi Ember. Sebagai contoh, ember generate route about akan menjana laluan baru yang dipanggil "Mengenai".

Bagaimana untuk memulakan pelayan pembangunan menggunakan Ember CLI?

anda boleh memulakan pelayan pembangunan menggunakan perintah ember serve. Ini akan memulakan pelayan dan menjadikan aplikasi anda boleh diakses di http: // localhost: 4200.

Bagaimana untuk mengemas kini Ember CLI?

anda boleh menggunakan arahan npm uninstall -g ember-cli untuk menyahpasang versi lama dan kemudian gunakan arahan npm install -g ember-cli untuk memasang versi baru untuk mengemas kini Ember CLI.

Apakah tujuan fail.ember-cli?

.ember-cli Fail adalah fail konfigurasi Ember CLI. Ia membolehkan anda menyesuaikan tingkah laku projek Ember CLI anda. Sebagai contoh, anda boleh menentukan port lalai pelayan pembangunan, membolehkan atau melumpuhkan ciri -ciri tertentu, dan banyak lagi.

Atas ialah kandungan terperinci Bermula dengan Ember dan Ember CLI. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Python vs JavaScript: Analisis Perbandingan untuk PemajuPython vs JavaScript: Analisis Perbandingan untuk PemajuMay 09, 2025 am 12:22 AM

Perbezaan utama antara Python dan JavaScript ialah sistem jenis dan senario aplikasi. 1. Python menggunakan jenis dinamik, sesuai untuk pengkomputeran saintifik dan analisis data. 2. JavaScript mengamalkan jenis yang lemah dan digunakan secara meluas dalam pembangunan depan dan stack penuh. Kedua -duanya mempunyai kelebihan mereka sendiri dalam pengaturcaraan dan pengoptimuman prestasi yang tidak segerak, dan harus diputuskan mengikut keperluan projek ketika memilih.

Python vs JavaScript: Memilih alat yang sesuai untuk pekerjaanPython vs JavaScript: Memilih alat yang sesuai untuk pekerjaanMay 08, 2025 am 12:10 AM

Sama ada untuk memilih Python atau JavaScript bergantung kepada jenis projek: 1) Pilih Python untuk Sains Data dan Tugas Automasi; 2) Pilih JavaScript untuk pembangunan front-end dan penuh. Python disukai untuk perpustakaannya yang kuat dalam pemprosesan data dan automasi, sementara JavaScript sangat diperlukan untuk kelebihannya dalam interaksi web dan pembangunan stack penuh.

Python dan javascript: memahami kekuatan masing -masingPython dan javascript: memahami kekuatan masing -masingMay 06, 2025 am 12:15 AM

Python dan JavaScript masing -masing mempunyai kelebihan mereka sendiri, dan pilihan bergantung kepada keperluan projek dan keutamaan peribadi. 1. Python mudah dipelajari, dengan sintaks ringkas, sesuai untuk sains data dan pembangunan back-end, tetapi mempunyai kelajuan pelaksanaan yang perlahan. 2. JavaScript berada di mana-mana dalam pembangunan front-end dan mempunyai keupayaan pengaturcaraan tak segerak yang kuat. Node.js menjadikannya sesuai untuk pembangunan penuh, tetapi sintaks mungkin rumit dan rawan kesilapan.

Inti JavaScript: Adakah ia dibina di atas C atau C?Inti JavaScript: Adakah ia dibina di atas C atau C?May 05, 2025 am 12:07 AM

Javascriptisnotbuiltoncorc; it'saninterpretedlanguagethatrunsonenginesoftenwritteninc .1) javascriptwasdesignedasalightweight, interpratedlanguageforwebbrowsers.2)

Aplikasi JavaScript: Dari Front-End ke Back-EndAplikasi JavaScript: Dari Front-End ke Back-EndMay 04, 2025 am 12:12 AM

JavaScript boleh digunakan untuk pembangunan front-end dan back-end. Bahagian depan meningkatkan pengalaman pengguna melalui operasi DOM, dan back-end mengendalikan tugas pelayan melalui Node.js. 1. Contoh front-end: Tukar kandungan teks laman web. 2. Contoh backend: Buat pelayan Node.js.

Python vs JavaScript: Bahasa mana yang harus anda pelajari?Python vs JavaScript: Bahasa mana yang harus anda pelajari?May 03, 2025 am 12:10 AM

Memilih Python atau JavaScript harus berdasarkan perkembangan kerjaya, keluk pembelajaran dan ekosistem: 1) Pembangunan Kerjaya: Python sesuai untuk sains data dan pembangunan back-end, sementara JavaScript sesuai untuk pembangunan depan dan penuh. 2) Kurva Pembelajaran: Sintaks Python adalah ringkas dan sesuai untuk pemula; Sintaks JavaScript adalah fleksibel. 3) Ekosistem: Python mempunyai perpustakaan pengkomputeran saintifik yang kaya, dan JavaScript mempunyai rangka kerja front-end yang kuat.

Rangka Kerja JavaScript: Menguasai Pembangunan Web ModenRangka Kerja JavaScript: Menguasai Pembangunan Web ModenMay 02, 2025 am 12:04 AM

Kuasa rangka kerja JavaScript terletak pada pembangunan yang memudahkan, meningkatkan pengalaman pengguna dan prestasi aplikasi. Apabila memilih rangka kerja, pertimbangkan: 1.

Hubungan antara JavaScript, C, dan penyemak imbasHubungan antara JavaScript, C, dan penyemak imbasMay 01, 2025 am 12:06 AM

Pengenalan Saya tahu anda mungkin merasa pelik, apa sebenarnya yang perlu dilakukan oleh JavaScript, C dan penyemak imbas? Mereka seolah -olah tidak berkaitan, tetapi sebenarnya, mereka memainkan peranan yang sangat penting dalam pembangunan web moden. Hari ini kita akan membincangkan hubungan rapat antara ketiga -tiga ini. Melalui artikel ini, anda akan mempelajari bagaimana JavaScript berjalan dalam penyemak imbas, peranan C dalam enjin pelayar, dan bagaimana mereka bekerjasama untuk memacu rendering dan interaksi laman web. Kita semua tahu hubungan antara JavaScript dan penyemak imbas. JavaScript adalah bahasa utama pembangunan front-end. Ia berjalan secara langsung di penyemak imbas, menjadikan laman web jelas dan menarik. Adakah anda pernah tertanya -tanya mengapa Javascr

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna