Svelte

Triển khai ứng dụng Svelte của bạn

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

    Triển khai nó

    Chạy "npx harvis deploy dist" từ thư mục gốc dự án của bạn. Không cấu hình và không cần đăng nhập cho lần triển khai đầu tiên này — bạn nhận được URL trực tiếp ngay lập tức, cùng một liên kết claim riêng tư để gắn trang web vào một tài khoản miễn phí bất cứ khi nào bạn sẵn sàng.

Triển khai Svelte chỉ với một lệnh

Build dự án của bạn, sau đó đưa thư mục output cho harvis. Không cần tài khoản cho lần triển khai đầu tiên — bạn sẽ nhận được một liên kết trực tiếp và một liên kết claim riêng tư để quản lý nó sau này.

terminal
npm run build
npx harvis deploy dist

Muốn kéo tệp thay vì dùng terminal? Build dự án, sau đó thả thư mục output vào đây và xuất bản theo cách tương tự.

Câu hỏi về triển khai 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.

Triển khai một ứng dụng Svelte lên harvis có thực sự miễn phí không?

Có, không cần thẻ. Giới hạn miễn phí là 500 tệp và 50 MB mỗi trang web, đủ dư dả cho một bản build tĩnh Svelte. Các trang web đã xuất bản không hết hạn — chúng luôn trực tuyến cho đến khi bạn xóa chúng.

Tôi có thể dùng tên miền riêng cho trang Svelte đã triển khai không?

Mỗi trang web nhận được một địa chỉ harvis.dev miễn phí, và bạn có thể chọn subdomain riêng của mình từ bảng điều khiển sau khi claim nó — my-app.harvis.dev thay vì một địa chỉ ngẫu nhiên. Việc trỏ một tên miền bạn đã sở hữu (như mystore.com) vào trang web chưa được hỗ trợ.

Điều này khác gì so với việc triển khai Svelte lên Vercel hay Netlify?

Vercel và Netlify được xây dựng xoay quanh việc kết nối một Git repo và chạy bản build của bạn trên máy chủ của họ, với một bảng điều khiển để cấu hình nó. harvis bỏ qua tất cả điều đó: bạn build cục bộ (hoặc trong CI riêng của bạn), chạy một lệnh CLI nhắm vào thư mục output, và nhận một liên kết — không cần thiết lập dự án, và không cần tài khoản cho đến khi bạn muốn giữ trang web.

other frameworks

Đang triển khai thứ khác?

Công thức giống nhau ở mọi nơi — build nó, rồi npx harvis deploy thư mục output.