![Ruby on Rails Frontend Rápido com Frameworks CSS Classless ou Class-Light sem CDN](https://img.php.cn/upload/article/000/000/000/173673484675675.jpg)
Artikel ini membincangkan topik yang sama seperti artikel sebelumnya, tetapi apabila artikel sebelumnya menggunakan rangka kerja CSS yang dihoskan CDN, artikel ini akan menggunakan fail CSS setempat dan menyalinnya ke dalam folder projek.
Buat apl Rails baharu
-
rails serve
Masa sebelum arahan digunakan untuk memaparkan jumlah masa pelaksanaan arahan. Contoh berikut mengambil masa 47 saat.
<code>$ rails -v
Rails 8.0.0
$ time rails new classless-css-local
...
real 0m47.500s
user 0m33.052s
sys 0m4.249s</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Rails 8, berdasarkan falsafah "tiada binaan", menggunakan Propshaft sebagai pustaka saluran paip aset dan Importmap sebagai pustaka JavaScript secara lalai. Importmap tidak melakukan apa-apa dengan JavaScript.
Buka projek menggunakan VSCode atau editor kegemaran anda
<code>$ rails -v
Rails 8.0.0
$ time rails new classless-css-local
...
real 0m47.500s
user 0m33.052s
sys 0m4.249s</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Ketahui tentang reka letak lalai Rails app/views/layouts/application.html.erb
Kembangkan…
- Mengikuti prinsip konvensyen atas konfigurasi (CoC), Rails menggunakan `application.html.erb` sebagai reka letak lalai untuk memaparkan semua halaman;
- Kandungan fail asal dalam Rails 8 hendaklah sama atau serupa dengan:
<code>$ cd classless-css-local && code .</code>
Salin selepas log masuk
Salin selepas log masuk
Bahagian atas teg -
<head>
mengandungi elemen struktur penting untuk pemaparan halaman dan operasi biasa. Teg <head>
digunakan untuk mengandungi metadata dan sumber penting yang membantu mengkonfigurasi gelagat halaman (menggunakan JavaScript), penampilan (menggunakan CSS), perkaitan dengan sistem dan perkhidmatan lain dan konfigurasi keselamatan, seperti perlindungan CSRF dan CSP; >
Kandungan utama halaman akan dipaparkan di dalam - melalui tag ERB. Teg ini berfungsi sebagai titik penyepaduan untuk mengandungi kandungan paparan yang dipaparkan secara dinamik
<body>
Janakan halaman ujian menggunakan pengawal halaman dan tindakan html_test_1, html_test_2, html_test_3 dan html_test_4
Kembangkan…
```bash
$ rails g halaman pengawal html_test_1 html_test_2 html_test_3 html_test_4
buat app/controllers/pages_controller.rb
laluan dapatkan "pages/html_test_1"
dapatkan "pages/html_test_2"
dapatkan "pages/html_test_3"
dapatkan "pages/html_test_4"
invokeerb
buat apl/pandangan/halaman
buat app/views/pages/html_test_1.html.erb
buat app/views/pages/html_test_2.html.erb
buat app/views/pages/html_test_3.html.erb
buat app/views/pages/html_test_4.html.erb
panggil pembantu
buat app/helpers/pages_helper.rb
```
Memandangkan laluan juga ditambah semasa membuat pengawal dan tindakan, anda boleh mengakses sebarang tindakan yang dibuat melalui pautan berikut: -
-
localhost:3000/pages/html_test_1
-
localhost:3000/pages/html_test_2
-
localhost:3000/pages/html_test_3
-
localhost:3000/pages/html_test_4
Gunakan VSCode untuk membuka failconfig/routes.rb
Tambah baris berikut pada penghujung fail untuk menghalakan punca halaman ke pengawal halaman yang dibuat sebelum ini dan tindakan html_test_1. Dengan cara ini, apabila tapak web atau sistem anda diakses, halaman pertama yang dipaparkan akan menjadi halaman html_test_1 pengawal halaman. Jika tidak, halaman lalai Rails akan dipaparkan. -
<title></title><meta content="width=device-width,initial-scale=1" name="viewport"></meta><meta content="yes" name="apple-mobile-web-app-capable"></meta><meta content="yes" name="mobile-web-app-capable"></meta><link href="/icon.png" rel="icon" type="image/png"></link><link href="/icon.svg" rel="icon" type="image/svg+xml"></link><link href="/icon.png" rel="apple-touch-icon"></link>
Salin selepas log masuk
Jika parameter - diluluskan semasa membuat pengawal, anda boleh mengabaikan penambahan laluan untuk tindakan yang dibuat.Perintah lengkap akan menjadi
rails g controller pages html_test_1 html_test_2 html_test_3 html_test_4 --skip-routes
Tunjukkan laluan Rel
Kembangkan…
Menggunakan terminal, anda boleh menentukan pengawal (menggunakan `-c`) untuk memaparkan laluan, contohnya pengawal halaman:
<code>$ rails -v
Rails 8.0.0
$ time rails new classless-css-local
...
real 0m47.500s
user 0m33.052s
sys 0m4.249s</code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Sebagai alternatif, anda boleh menggunakan arahan berikut untuk memaparkan semua laluan:
<code>$ cd classless-css-local && code .</code>
Salin selepas log masuk
Salin selepas log masuk
- Anda juga boleh mengakses laluan melalui penyemak imbas anda menggunakan alamat
http://127.0.0.1:3000/rails/info/routes
. Ingat untuk memulakan pelayan pembangunan menggunakan bin/dev
atau pelayan Rails standard menggunakan rails server
dalam akar projek. Pelayan pembangunan "mendengar" untuk perubahan pada fail JavaScript dan CSS untuk melakukan pemprosesan yang diperlukan dan menyampaikannya kepada pengguna.
- Untuk perubahan pada fail ini dapat dilihat dengan serta-merta dalam penyemak imbas, permata seperti Rails Live Reload perlu dipasang.
Kami akan mencipta empat halaman dengan kandungan HTML untuk menguji gaya CSS.
Ruby on Rails menggunakan seni bina MVC (Model-View-Controller) secara lalai untuk memulakan organisasi projek. Kebanyakan kod disusun dalam folder berikut:
- Apabila kod berkaitan dengan logik domain/perniagaan dan data, sila simpan dalam folder
app/models
;
Kod berkaitan paparan (HTML, JSON, XML, dll.) akan diletakkan dalam folder - ;
app/views
Kod yang berkaitan dengan kitaran hayat permintaan akan diletakkan dalam folder -
app/controllers
Disebabkan had ruang, langkah seterusnya akan ditinggalkan. Sila ambil perhatian bahawa perkara di atas telah dibuat pseudo-original daripada teks asal dan mengekalkan format dan lokasi asal imej. Pseudo-original yang lengkap memerlukan penulisan semula yang serupa bagi bakinya.
Atas ialah kandungan terperinci Ruby on Rails Frontend Rápido com Frameworks CSS Classless or Class-Light sem CDN. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!