Jadual Kandungan
Helo Dunia!
Rumah hujung hadapan web tutorial css Pergi tanpa bangunan

Pergi tanpa bangunan

Apr 17, 2025 am 10:00 AM

Pergi tanpa bangunan

Hubungan jarak jauh sering melibatkan penerbangan yang kerap. Semasa penerbangan ini, idea untuk menangkap Reddit menjadi menarik. Daripada mencari aplikasi Reddit di luar talian, saya memutuskan untuk membina teknologi web moden saya sendiri dan pendekatan pembangunan "tanpa membina".

Jawatan ini meraikan pemaju web yang inovatif dan sumbangan mereka. Walaupun bukan tutorial langkah demi langkah, kod lengkap boleh didapati di GitHub.

Matlamatnya adalah pembaca Reddit, meminimumkan perkakas dan kebergantungan. Kami akan menggunakan:

  • Litelement: Model komponen yang ringan dan mudah digunakan memanfaatkan komponen web.
  • @Vaadin/Router: penghala padat dengan pengalaman pemaju yang hebat.
  • @Pika/Web: Memudahkan pengurusan modul semasa pembangunan.
  • ES-DEV-SERVER: Pelayan Dev Langsung (walaupun mana-mana pelayan HTTP berfungsi).

Kami juga akan memanfaatkan piawaian penyemak imbas: modul ES, komponen web, peta import, penyimpanan KV, dan pekerja perkhidmatan.

Pemasangan Ketergantungan:

 npm i -s lit -element @vaadin/router
npm i -d @pika/web-dev-server
Salin selepas log masuk

Tambahkan skrip postinstall ke package.json :

 "Skrip": {
  "Mula": "es-dev-server",
  "Postinstall": "Pika-Web"
}
Salin selepas log masuk

PIKA: Melancarkan kebergantungan

Pika (oleh Fred K. Schott) memudahkan pembangunan web, memasang kebergantungan sebagai fail JavaScript individu dalam web_modules/ direktori. Ini memudahkan proses dan mengelakkan konfigurasi membina kompleks. Output menyerupai:

 <code>└─ web_modules/ ├─ lit-element.js └─ @vaadin └─ router.js</code>
Salin selepas log masuk

Import Peta: Menyelesaikan penentu kosong

index.html kami termasuk peta import untuk mengendalikan penentu modul kosong:

<script type="importmap">
  {
    "imports": {
      "@vaadin/router": "/web_modules/@vaadin/router.js",
      "lit-element": "/web_modules/lit-element.js"
    }
  }
</script>
<reddit-pwa-app></reddit-pwa-app>
Salin selepas log masuk

reddit-pwa-app.js :

 import {litelement, html} dari 'lit-element';

kelas redditpwaapp memanjangkan litelemen {
  render () {
    kembali html`<h1 id="Helo-Dunia"> Helo Dunia!</h1> `;
  }
}

customElements.define ('reddit-pwa-app', redditpwaapp);
Salin selepas log masuk

Import Peta Menyelesaikan Isu Penentu Modul Bare, membolehkan keserasian penyemak imbas tanpa proses membina kompleks.

Pekerja Perkhidmatan: Fungsi Luar Talian

Untuk mengaktifkan akses luar talian, kami melaksanakan Pekerja Perkhidmatan ( sw.js ) yang didaftarkan di index.html :

 jika ('ServiceWorker' di Navigator) {
  window.adDeventListener ('LOAD', () => {
    Navigator.ServiceWorker.Register ('./ sw.js');
  });
}
Salin selepas log masuk

Aset pra-cache pekerja perkhidmatan, memastikan fungsi luar talian. Pika memudahkan ini dengan menyediakan senarai aset yang jelas. (Lihat repo GitHub untuk butiran sw.js ).

Penyimpanan KV: Kegigihan Data Luar Talian

Untuk menyimpan jawatan di luar talian, kami menggunakan penyimpanan KV, modul terbina dalam berlapis di atas indexeddb. Ia menawarkan operasi tak segerak dan prestasi yang lebih baik ke atas LocalStorage. Polyfill digunakan untuk memastikan sokongan penyemak imbas yang lebih luas. (Lihat repo GitHub untuk butiran pelaksanaan).

Polyfilling dengan peta import

Polyfill penyimpanan KV ( kv-storage-polyfill ) dimasukkan dan diuruskan melalui peta import, menyediakan mekanisme sandaran jika penyimpanan KV asli tidak tersedia.

Kesimpulan

Projek ini menunjukkan membina PWA berfungsi dengan kebergantungan yang minimum, menonjolkan manfaat piawaian web moden dan pendekatan yang tidak membina. Walaupun alat binaan alternatif wujud, kaedah ini mengutamakan kesederhanaan dan kemudahan akses. Repositori GitHub menyediakan pangkalan lengkap untuk penerokaan lanjut. Maklum balas dan perbincangan dialu-alukan di Twitter (@passle_ atau @OpenWC) dan open-wc.org.

Penghargaan:

Terima kasih kepada Guy Bedford (Es-Module-shims), Luke Jackson ("Jangan membina aplikasi itu!"), Benny Powers, dan Lars den Bakker atas sumbangan mereka.

Atas ialah kandungan terperinci Pergi tanpa bangunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

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

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1664
14
Tutorial PHP
1268
29
Tutorial C#
1243
24
Fon Font Google Fon Fon Font Google Fon Apr 09, 2025 am 10:42 AM

Saya melihat Font Google melancarkan reka bentuk baru (tweet). Berbanding dengan reka bentuk besar yang terakhir, ini terasa lebih berulang. Saya hampir tidak dapat memberitahu perbezaannya

Cara membuat pemasa undur animasi dengan HTML, CSS dan JavaScript Cara membuat pemasa undur animasi dengan HTML, CSS dan JavaScript Apr 11, 2025 am 11:29 AM

Pernahkah anda memerlukan pemasa undur dalam projek? Untuk sesuatu seperti itu, mungkin semula jadi untuk mencapai plugin, tetapi sebenarnya lebih banyak lagi

Panduan Atribut Data HTML Panduan Atribut Data HTML Apr 11, 2025 am 11:50 AM

Semua yang anda ingin tahu mengenai atribut data dalam HTML, CSS, dan JavaScript.

Bukti konsep untuk menjadikan sass lebih cepat Bukti konsep untuk menjadikan sass lebih cepat Apr 16, 2025 am 10:38 AM

Pada permulaan projek baru, kompilasi SASS berlaku dalam sekejap mata. Ini terasa hebat, terutamanya apabila ia dipasangkan dengan BrowserSync, yang dimuat semula

Bagaimana Kami Membuat Tapak Statik yang Menjana Corak Tartan Di SVG Bagaimana Kami Membuat Tapak Statik yang Menjana Corak Tartan Di SVG Apr 09, 2025 am 11:29 AM

Tartan adalah kain berpola yang biasanya dikaitkan dengan Scotland, terutamanya kilt bergaya mereka. Di Tartanify.com, kami mengumpulkan lebih dari 5,000 Tartan

Cara Membina Komponen Vue dalam Tema WordPress Cara Membina Komponen Vue dalam Tema WordPress Apr 11, 2025 am 11:03 AM

Arahan template inline membolehkan kita membina komponen Vue yang kaya sebagai peningkatan progresif ke atas markup WordPress yang sedia ada.

Walaupun anda tidak kelihatan, kecerunan CSS menjadi lebih baik Walaupun anda tidak kelihatan, kecerunan CSS menjadi lebih baik Apr 11, 2025 am 09:16 AM

Satu perkara yang menarik perhatian saya pada senarai ciri-ciri untuk Lea Verou &#039; s conic-gradient () polyfill adalah item terakhir:

Perbandingan pembekal bentuk statik Perbandingan pembekal bentuk statik Apr 16, 2025 am 11:20 AM

Mari kita cuba menyusun istilah di sini: "Penyedia Borang Statik." Anda membawa html anda

See all articles