Next.js

Triển khai ứng dụng Next.js của bạn

harvis serves static files, so this works for the part of Next.js that produces static files: static export. Add one line to your config, build, and the CLI takes it from there. Server-rendered routes, API routes, and middleware don't run here — there's no server behind this host.

steps
  1. 01

    Enable static export

    Add "output: 'export'" to next.config.js. Routes using API routes, middleware, or server-side rendering won't build — everything else does.

  2. 02

    Build the app

    Run "npm run build". With static export on, Next.js writes fully rendered HTML, CSS, and JS to an "out" folder instead of starting a server.

  3. 03

    Triển khai nó

    Chạy "npx harvis deploy out" 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 Next.js 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 out

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 Next.js

I use next/image or API routes. Can I still deploy here?

API routes and the default next/image loader need a server, so they don't work under static export. next/image still works if you set images.unoptimized: true (or point loader at an external image service) — everything else in the App or Pages router that doesn't touch the server builds fine.

Do dynamic routes like /blog/[slug] work with static export?

Yes, as long as they implement generateStaticParams (App Router) or getStaticPaths (Pages Router) so Next knows which pages to pre-render at build time. Routes with no way to enumerate their params ahead of time can't be static.

Triển khai một ứng dụng Next.js 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 Next.js. 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 Next.js đã 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 Next.js 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.