π§ μ¬μ©
install
npm install next-pwanext jsλ‘ λ§λ€μ΄μ§ νλ‘μ νΈκ° μλ€λ κ°μ νμ μ€μΉν΄μ€λλ€.
next.config.js
const withPWA = require('next-pwa');
const nextConfig = {
pwa: {
dest: 'public',
},
...
};
module.exports = withPWA(nextConfig);ν΄λΉ νμΌμ pwaμ κ΄ν μ€μ μ μΆκ°ν΄μ€λλ€.
manifest.json
[PWA Manifest Generator | SimiCart](https://www.simicart.com/manifest-generator.html/)
μ± μ€μΉ μ 보μ΄κ² λ μμ΄μ½κ³Ό μ λͺ© λ±μ νμν μ μ ν΄μ€λλ€.
next head
<Head>
<meta
name="viewport"
content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"
/>
<meta name="description" content="Description" />
<meta name="keywords" content="Keywords" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#317EFB" />
</Head>μ΄μ μ λ§λ€μ΄λ manifest νμΌμ λΆλ¬μμ€λλ€.
ν¬λ‘¬μμ 곡μ νκΈ° μΌμͺ½μ μλ‘μ΄ μμ΄μ½μ΄ μκΈ°λ©΄ μ±κ³΅μ λλ€.
π€ μκ°
μ΅κ·Όμ λΈλΌμ°μ μμ λ§μ΄ν¬, μΉ΄λ©λΌ, νμΌ, λΈλ£¨ν¬μ€ λ±λ± μ΄ μ κ·Ό κ°λ₯ν μν©μμ μΉμ μ±μΌλ‘ μ€μΉνμ¬ μ¬μ©νλ€λ κ²μ μ±μ΄ μλ μλΉμ€λ₯Ό μμ£Ό μ΄μ©νλ μν©μ μ ν©ν κ² κ°λ€λ μκ°μ΄ λλλ€.
νΉν ꡬκΈκ³Ό μ νμ μΈμ± κ²°μ κ°μ κ° μꡬλλ μν©μμ μ 리ν κ±΄κ° μΆμ΅λλ€.
νμ§λ§ μΉμ΄κΈ΄ μΉμ΄λΌμ μΊμ± μ΄μΈμ 미리 λ°μ΄ν°λ₯Ό μ€μΉν΄λ μνμμ μ¬μ©νμ§λ λͺ»νλ λ¨μ λ λΆλͺ ν κ² κ°μ΅λλ€.
λ± μ± μλΉμ€κ° μμΌλ©΄μ MAUκ° λμ μλΉμ€μμ μ¬μ©νλ©΄ ν° μ΄μ΅μ΄ λ μ μμ κ² κ°μ΅λλ€.
μ°Έκ³ : https://github.com/vercel/next.js/tree/canary/examples/progressive-web-app