#Sapper #TypeScript #Svelte
https://sapper.svelte.dev/docs
[[Sapper]]ใไฝฟใฃใฆ[[TypeScript]]ใฎใใญใธใงใฏใใไฝใฃใฆใฟใใ
## Getting started
[[degit]]ใไฝฟใใ
```
npx degit "sveltejs/sapper-template#rollup" svel-yuya-tool
cd svel-yuya-tool
npm i
npm run dev
```
### TypeScriptใซ้ฉๅฟใใ
```
node scripts/setupTypeScript.js
npm i
```
`npm run build` ใใชใใฆใใใใ? #unknown
### [[Prettier]]ใ้ฉๅฟ
[[SvelteใซPrettierใ้ฉๅฟ]]ใๅ็
งใ
## Sapper App Structure
```shell
๏ src
โโโ ๎จ ambient.d.ts
โโโ ๎จ client.ts ๐ ใฏใฉใคใขใณใใฎใจใณใใชใใคใณใ
โโโ ๏ components
โ โโโ ๏
Nav.svelte
โโโ ๏ node_modules
โโโ ๏ routes
โ โโโ ๏
_error.svelte
โ โโโ ๏
_layout.svelte
โ โโโ ๏
about.svelte
โ โโโ ๏ blog
โ โ โโโ ๎ [slug].json.js
โ โ โโโ ๏
[slug].svelte
โ โ โโโ ๎ _posts.js
โ โ โโโ ๎ index.json.js
โ โ โโโ ๏
index.svelte
โ โโโ ๏
index.svelte
โโโ ๎จ server.ts ๐ ใตใผใใผใฎใจใณใใชใใคใณใ
โโโ ๎จ service-worker.ts
โโโ ๏ป template.html
```
### server
- Webใตใผใใผใจใใฆ[[sirv]]ใไฝฟใฃใฆใใ
- ใขใใชใฑใผใทใงใณใตใผใใผใจใใฆ[[Polka]]ใไฝฟใฃใฆใใ
## ใใใฃใฆใฟใ
### ใใใฒใผใทใงใณใใผ
`Nav.svelte`ใงๅฎ่ฃ
ใใใฆใใใ
```html
<nav>
<ul>
<li><a aria-current="{segment === undefined ? 'page' : undefined}" href=".">home</a></li>
<li><a aria-current="{segment === 'about' ? 'page' : undefined}" href="about">about</a></li>
<!-- for the blog link, we're using rel=prefetch so that Sapper prefetches
the blog data when we hover over the link or tap it on a touchscreen -->
<li><a rel=prefetch aria-current="{segment === 'blog' ? 'page' : undefined}" href="blog">blog</a></li>
</ul>
</nav>
```
### ้็ใใกใคใซใฎ็ปๅ่กจ็คบ
`static`ใใฃใฌใฏใใชใใใฎ็ธๅฏพใในใงๆๅฎใ
`<script>`ใง่จ่ฟฐใงใใชใใใฏไธๆใ #unknown
```html
<img alt="Success Kid" src="hoge.png">
```
## ใใใญใค็จใซใใซใใใ
https://sapper.svelte.dev/docs#Exporting
```shell
npm run export
```
```shell
> Finished in 14.7s. Type npx serve __sapper__/export to run the app.
```
`__sapper__/export`้
ไธใใใใญใคใใใฐใใใ
### index.htmlใใงใใชใ
`polka().use()`ใฎ็ฌฌ1ๅผๆฐใซpathใๆๅฎใใใ`index.html`ใใงใใชใใชใฃใ..ใ
#### ๆๅฎ็กใใฎๅ ดๅ
```shell
๏ .\__sapper__/export
โโโ ๏ bitbucket
โ โโโ ๏ป index.html
โโโ ๏ client
โ โโโ ๎ bitbucket.76d6b2a1.js
โ โโโ ๎ client-e118e612.css
โ โโโ ๎ client.d28d6378.js
โ โโโ ๎ index-2d39ed90.css
โ โโโ ๎ index.325867b5.js
โ โโโ ๎ inject_styles.5607aec6.js
โ โโโ ๏ legacy
โ โ โโโ ๎ bitbucket.33573f80.js
โ โ โโโ ๎ client-e118e612.css
โ โ โโโ ๎ client.76e69425.js
โ โ โโโ ๎ index-2d39ed90.css
โ โ โโโ ๎ index.f7d3484f.js
โ โ โโโ ๎ inject_styles.fe622066.js
โ โโโ ๎
[email protected]
โโโ ๏
favicon.png
โโโ ๎ global.css
โโโ ๏ป index.html
โโโ ๏
logo-192.png
โโโ ๏
logo-512.png
โโโ ๎ manifest.json
โโโ ๏ป service-worker-index.html
โโโ ๎ service-worker.js
โโโ ๏
yuya.png
```
#### ๆๅฎใใใฎๅ ดๅ
ใตใผใใใญใฐใฉใ ใจใใฆใใซใใใใฆใใใ..ใ
```shell
๏ .\__sapper__/export
โโโ ๏ client
โ โโโ ๎ bitbucket.76d6b2a1.js
โ โโโ ๎ client-e118e612.css
โ โโโ ๎ client.d28d6378.js
โ โโโ ๎ index-2d39ed90.css
โ โโโ ๎ index.325867b5.js
โ โโโ ๎ inject_styles.5607aec6.js
โ โโโ ๏ legacy
โ โ โโโ ๎ bitbucket.33573f80.js
โ โ โโโ ๎ client-e118e612.css
โ โ โโโ ๎ client.76e69425.js
โ โ โโโ ๎ index-2d39ed90.css
โ โ โโโ ๎ index.f7d3484f.js
โ โ โโโ ๎ inject_styles.fe622066.js
โ โโโ ๎
[email protected]
โโโ ๏
favicon.png
โโโ ๎ global.css
โโโ ๏
logo-192.png
โโโ ๏
logo-512.png
โโโ ๎ manifest.json
โโโ ๎ service-worker.js
โโโ ๏
yuya.png
```
crawlingใงใใใใใชใใฃใใฎใๅๅ
`sapper export --entry /svel-yuya-tool` ใจใใใใฏใญใผใชใณใฐใๆญฃๅธธใซๅไฝใใฆๅใใใใซใชใฃใใ
```shell
๏ .\__sapper__/export
โโโ ๏ client
โ โโโ ๎ bitbucket.76d6b2a1.js
โ โโโ ๎ client-e118e612.css
โ โโโ ๎ client.d28d6378.js
โ โโโ ๎ index-2d39ed90.css
โ โโโ ๎ index.325867b5.js
โ โโโ ๎ inject_styles.5607aec6.js
โ โโโ ๏ legacy
โ โ โโโ ๎ bitbucket.33573f80.js
โ โ โโโ ๎ client-e118e612.css
โ โ โโโ ๎ client.76e69425.js
โ โ โโโ ๎ index-2d39ed90.css
โ โ โโโ ๎ index.f7d3484f.js
โ โ โโโ ๎ inject_styles.fe622066.js
โ โโโ ๎
[email protected]
โโโ ๏
favicon.png
โโโ ๎ global.css
โโโ ๏
logo-192.png
โโโ ๏
logo-512.png
โโโ ๎ manifest.json
โโโ ๎ service-worker.js
โโโ ๏ svel-yuya-tool
โ โโโ ๏ bitbucket
โ โ โโโ ๏ป index.html
โ โโโ ๏ client
โ โ โโโ ๎ bitbucket.76d6b2a1.js
โ โ โโโ ๎ client-e118e612.css
โ โ โโโ ๎ client.d28d6378.js
โ โ โโโ ๎ index-2d39ed90.css
โ โ โโโ ๎ index.325867b5.js
โ โ โโโ ๎ inject_styles.5607aec6.js
โ โโโ ๏
favicon.png
โ โโโ ๎ global.css
โ โโโ ๏ป index.html
โ โโโ ๎ manifest.json
โ โโโ ๏
yuya.png
โโโ ๏
yuya.png
```
ใใใญใคใฎๅฏพ่ฑกใฏ `./__sapper__/export/svel-yuya-tool`