sqzass.git

sqzass

~ A static site generator written in Rust
git clone https://github.com/debuman/sqzass.git

docs/content/deploy/vercel.ko.md (1977B)

      1 +++
      2 title = "Vercel"
      3 description = "vercel.json, 그리고 프레임워크 기능들이 여기서 무의미한 이유"
      4 weight = 30
      5 toc = true
      6 +++
      7 
      8 ```json
      9 {
     10   "buildCommand": "curl -sSL https://github.com/debuman/sqzass/releases/latest/download/sqzass-x86_64-unknown-linux-musl.tar.gz | tar xz --strip-components=1 && ./sqzass build",
     11   "outputDirectory": "public",
     12   "framework": null
     13 }
     14 ```
     15 
     16 `"framework": null`이 중요합니다. Vercel의 감지는 `package.json`을 찾는데, 없으면
     17 추측을 합니다. 잘못 추측하면 빌드가 실패하고, 그 실패가 sqzass 탓처럼 읽힙니다.
     18 
     19 ## 프리뷰 배포
     20 
     21 Vercel은 프리뷰 호스트를 스킴 없이 `$VERCEL_URL`로 줍니다.
     22 
     23 ```json
     24 {
     25   "buildCommand": "… && ./sqzass build --base-url \"https://$VERCEL_URL\""
     26 }
     27 ```
     28 
     29 이유는 다른 호스트와 같습니다. 내부 링크는 루트 절대 경로라 어디서든 동작하지만,
     30 canonical·sitemap·소셜 태그는 절대 URL이라 프리뷰에서 프로덕션을 가리키게 됩니다.
     31 
     32 ## 끝 슬래시
     33 
     34 sqzass는 `/start/index.html`을 쓰므로 `/start/`가 정본이고, 생성하는 모든 링크가
     35 그 형태입니다. Vercel의 기본 `trailingSlash` 동작은 둘 사이를 리다이렉트하므로
     36 손으로 `/start`라고 쓴 링크에는 한 번의 왕복이 더 듭니다. `"trailingSlash": true`로
     37 두면 그 왕복이 없어집니다.
     38 
     39 필수가 아니라 취향입니다. 어느 쪽이든 사이트는 옳게 동작합니다.
     40 
     41 ## 필요 없는 것
     42 
     43 서버리스 함수도, ISR도, 엣지 설정도, 이미지 최적화도 없습니다. sqzass는 요청 시점에
     44 실행할 게 없으므로, Vercel을 파일 서버와 구별되게 하는 부분이 전부 여기서는 놀고
     45 있습니다.
     46 
     47 이건 분명히 말해 둘 만합니다. 팀이 이미 Vercel을 쓰고 있다면 잘 됩니다. sqzass
     48 사이트를 위해 호스트를 **고르는** 중이라면, 프레임워크 지원이 선택 기준이 되지는
     49 않을 겁니다.