چگونه PWA بسازیم
info
این بخش برای ساخت PWA در صفحات اساتیک هست. برای React رو جداگونه مینویسیم.
برای PWA حداقل به سه تا چیز نیاز داریم:
manifest.json
serviceWorker.js
- چند سایز آیکون
#
آیکون هابرای ساخت آیکون ها از لایبرری pwa-asset-generator
استفاده می کنیم که با آپشن هایی که میگیره همه سایز آیکونی بهمون میده.
آدرس لایبرری
مثالش اینه:
که photo.png
ادرس لوگویی هست که داریم و عکس های ساخته شده توی یه فولدر به اسم icons
میرن.
عکس ها باید توی فایل manifest.json
ثبت بشن.
#
manifest.jsonفایلی هست که اطلاعات کلی اپلیکیشن رو توی خودش نگه میداره. حداقل دیتایی که باید داشته باشیم ایناس:
بقیه دیتایی که میشه توی این فایل باشه توی داکیومنتش هست لینک داکیومنت هاش:
#
service workerاین فایل جاوااسکریپت قراره منطق کش کردن و فچ کردن دیتا رو کنترل کنه. این فایل باید ثبت بشه (یا نصب بشه یا رجیستر بشه). نصبش به این صورت هست که توی یه تگ <script>
انجام بشه. یا توی فایل جاوااسکریپتی که ایمپورت بشه
نکته:
فایل sw.js
باید توی روت پروژه باشه. و هر جایی که باشه اسکوپش میشه از همون فایل. پس بهترین جاش همون روت پروژه فرانت و همون کنار index.html
.
فایل sw.js
شامل ایناس:
که روی ۲ event باید کنترلر بذاریم:
install
#
1. توی این بخش نصب کردن سرویس ورکر رو هندل میکنیم و توی این مثال فقط این رو هندل کردیم که دیتایی که از پیش تعیین کردیم (تو یه آرایه به نام static_asset
)
fetch
#
2. توی این event استراتژی هندل کردن caching رو هندل میکنیم. مثلا اینکه آیا اول از chache استفاده شود یا اول دیتا fetch بشه. توی این مثالُ اول کش چک شده اگر کش خالی بود فچ میشه در غیر این صورت از کش استفاده میشه.
داکیومنتش: