Svelte

ดีพลอยแอป Svelte ของคุณ

Plain Svelte (scaffolded with npm create vite -- --template svelte) is a normal static Vite build. SvelteKit is different by default — it expects a server — so it needs one extra step to output static files instead.

steps
  1. 01

    Plain Svelte: just build

    Run "npm run build". Like any Vite template, it writes static HTML, CSS, and JS to "dist" — nothing else to configure.

  2. 02

    SvelteKit: switch to the static adapter

    Install "@sveltejs/adapter-static", set it as the adapter in svelte.config.js, and run "npm run build". Output goes to "build" by default (configurable in the adapter options) instead of "dist".

  3. 03

    ดีพลอยมัน

    รัน "npx harvis deploy dist" จาก root ของโปรเจกต์คุณ ไม่ต้องตั้งค่าและไม่ต้องล็อกอินสำหรับการดีพลอยครั้งแรกนี้ — คุณจะได้ URL ใช้งานจริงทันที พร้อมลิงก์ claim ส่วนตัวเพื่อผูกไซต์เข้ากับบัญชีฟรีเมื่อคุณพร้อม

ดีพลอย Svelte ด้วยคำสั่งเดียว

Build โปรเจกต์ของคุณ แล้วส่งโฟลเดอร์ output ให้ harvis ไม่ต้องมีบัญชีสำหรับการดีพลอยครั้งแรก — คุณจะได้ลิงก์ใช้งานจริงและลิงก์ claim ส่วนตัวเพื่อจัดการภายหลัง

terminal
npm run build
npx harvis deploy dist

อยากลากไฟล์แทนเทอร์มินัลไหม? Build โปรเจกต์แล้ว วางโฟลเดอร์ output ที่นี่ แล้วเผยแพร่แบบเดียวกัน

git hook

Deploy Svelte on every git push

The command above is one you will run again after every change. A git hook runs it for you: this one already points at dist, the folder Svelte builds into.

The folder holding the finished site. "." is the repo root, which is right for hand-written HTML; a static-site generator writes somewhere else.

pre-push fires on every branch and every remote, so a feature branch would publish over your live site. With this on, a push from anywhere else exits early and goes through untouched.

in your repo root
cat > .git/hooks/pre-push <<'EOF'
#!/bin/sh
set -e
npm run build
harvis deploy dist
EOF
chmod +x .git/hooks/pre-push

The options, the gotchas and how to share a hook with your team are on the git hook page.

คำถามเกี่ยวกับการดีพลอย Svelte

How do I know if my project is plain Svelte or SvelteKit?

Check package.json: SvelteKit projects depend on "@sveltejs/kit" and have a "src/routes" folder. Plain Svelte (the Vite template) doesn't — it's a single App.svelte with no server-side concept at all.

SvelteKit's adapter-static warns about "prerender" — what does that mean?

adapter-static needs every route pre-rendered at build time since there's no server to render them on request. Add "export const prerender = true" to your root +layout.js (or per-route) to opt every page in.

การดีพลอยแอป Svelte ไปยัง harvis ฟรีจริงไหม?

ใช่ ไม่ต้องใช้บัตรเครดิต ขีดจำกัดฟรีคือ 500 ไฟล์และ 50 MB ต่อไซต์ ซึ่งเพียงพอมากสำหรับ static build ของ Svelte ไซต์ที่เผยแพร่แล้วไม่มีวันหมดอายุ — จะออนไลน์อยู่จนกว่าคุณจะลบมัน

ฉันใช้โดเมนของตัวเองกับไซต์ Svelte ที่ดีพลอยแล้วได้ไหม?

ทุกไซต์จะได้ที่อยู่ harvis.page ฟรี และคุณเลือก subdomain ของตัวเองจากแดชบอร์ดได้หลังจาก claim — my-app.harvis.page แทนที่จะเป็นชื่อสุ่ม การชี้โดเมนที่คุณเป็นเจ้าของอยู่แล้ว (เช่น mystore.com) มาที่ไซต์ยังไม่รองรับในตอนนี้

สิ่งนี้ต่างจากการดีพลอย Svelte ไปยัง Vercel หรือ Netlify อย่างไร?

Vercel และ Netlify สร้างขึ้นรอบการเชื่อมต่อ Git repo แล้วรัน build บนเซิร์ฟเวอร์ของพวกเขา พร้อมแดชบอร์ดสำหรับตั้งค่า harvis ข้ามขั้นตอนเหล่านั้นทั้งหมด: คุณ build ในเครื่อง (หรือใน CI ของคุณเอง) รันคำสั่ง CLI เดียวกับโฟลเดอร์ output แล้วได้ลิงก์กลับมา — ไม่ต้องตั้งค่าโปรเจกต์ และไม่ต้องมีบัญชีจนกว่าคุณจะอยากเก็บไซต์ไว้

other frameworks

กำลังดีพลอยอย่างอื่นอยู่?

สูตรเดียวกันทุกที่ — build แล้ว npx harvis deploy โฟลเดอร์ output