Nếu bạn muốn tạo một trang web tài liệu hiện đại, đẹp mắt một cách dễ dàng, Nextra Docs là một trong những công cụ tốt nhất hiện có. Được xây dựng trên nền tảng Next.js, Nextra cho phép bạn viết tài liệu của mình bằng Markdown hoặc MDX, tùy chỉnh giao diện và triển khai dễ dàng—đặc biệt là trên Vercel. Trong bài viết này, chúng ta sẽ cùng nhau tìm hiểu cách thiết lập một trang web Nextra Docs từ đầu và triển khai nó lên Vercel miễn phí.
Bạn muốn một nền tảng tích hợp, All-in-One để Nhóm phát triển của bạn làm việc cùng nhau với năng suất tối đa?
Apidog đáp ứng mọi yêu cầu của bạn và thay thế Postman với mức giá phải chăng hơn nhiều!
Nextra Docs là gì? Người bạn tốt nhất để xây dựng tài liệu của bạn
Nextra docs là một framework dựa trên Next.js giúp việc tạo trang web tài liệu trở nên dễ dàng. Tất cả xoay quanh nội dung Markdown (hoặc MDX) với một Docs Theme được xây dựng sẵn, tích hợp điều hướng, tìm kiếm và mục lục ngay từ đầu. Dưới đây là lý do tại sao nextra docs lại tuyệt vời:
- Đơn giản với Markdown: Viết tài liệu bằng Markdown hoặc MDX cho nội dung phong phú, tương tác.
- Các tiện ích của Docs Theme: Thanh bên, thanh tìm kiếm và bố cục responsive được tạo tự động.
- Sức mạnh của Next.js: Tận dụng tốc độ, app router và tích hợp Vercel của Next.js.
- Có thể tùy chỉnh: Chỉnh sửa giao diện, thêm các component React hoặc xây dựng bố cục tùy chỉnh.
- Mã nguồn mở: Với hơn 3.8K lượt sao trên GitHub, nó được cộng đồng phát triển và miễn phí.
Người dùng đánh giá cao nextra docs vì sự "hoàn thiện không cần cấu hình" và khả năng triển khai trên Vercel. Sẵn sàng xây dựng trang web của bạn chưa? Hãy bắt đầu thôi!
Tại sao nên sử dụng Nextra Docs với Vercel?
Nextra docs hoàn hảo cho các nhà phát triển, startup hoặc các dự án mã nguồn mở cần tài liệu chuyên nghiệp một cách nhanh chóng. Kết hợp nó với Vercel—sân nhà của Next.js—có nghĩa là:
- Triển khai liền mạch: Vercel tự động nhận diện nextra docs để triển khai chỉ với một cú nhấp chuột.
- Tốc độ cực nhanh: Tạo trang tĩnh và CDN giúp tải trang tức thì.
- Hosting miễn phí: Gói miễn phí của Vercel đủ dùng cho hầu hết các dự án với tên miền tùy chỉnh.
- Khả năng mở rộng: Xử lý lưu lượng truy cập tăng đột biến mà không gặp vấn đề gì.
Tôi đã triển khai một trang web thử nghiệm lên Vercel, và nó đã hoạt động chỉ trong vòng chưa đầy 5 phút—mượt mà như bơ!
Cách thiết lập Nextra Docs: Hướng dẫn từng bước
Hãy tạo một trang web nextra docs từ đầu bằng cách sử dụng app router của Next.js. Làm theo hướng dẫn, và bạn sẽ có một trang web chạy cục bộ trong khoảng 20 phút!
1. Tạo một dự án Next.js mới
- Mở terminal của bạn và tạo một ứng dụng Next.js:
npx create-next-app my-nextra-docs
- Trong quá trình thiết lập, chọn Yes cho tất cả các câu hỏi ngoại trừ:
- "Would you like to customize the import alias (@/* by default)?" (chọn No hoặc tùy chọn của bạn).
- "Would you like your code inside a src/ directory?" (chọn No hoặc Yes—tôi khuyên bạn nên chọn No để đơn giản).
- Di chuyển đến thư mục dự án:

cd my-nextra-docs
2. Cài đặt các dependency của Nextra Docs
Cài đặt các gói cốt lõi cho nextra docs:
npm install next react react-dom nextra nextra-theme-docs
3. Cập nhật Scripts trong package.json
Đảm bảo package.json
bao gồm các scripts sau (chúng thường được thêm bởi create-next-app
):
"scripts": {
"dev": "next",
"build": "next build",
"start": "next start"
}
- Để chế độ dev nhanh hơn, bạn có thể thêm Turbopack (tùy chọn):
"dev": "next --turbopack"

- Kiểm tra thiết lập:
npm run dev
Truy cập http://localhost:3000
để xác nhận ứng dụng Next.js hoạt động.

Xấu:( Nhưng dù sao thì nó cũng hoạt động! Bây giờ hãy thử khắc phục điều này.
4. Cấu hình Nextra Docs
- Đổi tên
next.config.ts
thànhnext.config.mjs
và thay thế nội dung của nó bằng:
import nextra from 'nextra'
const withNextra = nextra({
theme: 'nextra-theme-docs',
themeConfig: './theme.config.js'
})
export default withNextra({
async redirects() {
return [
{
source: '/',
destination: '/resources',
permanent: true
}
]
}
})
- Nếu bạn gặp lỗi
tsconfig.json
, IDE của bạn (ví dụ: VS Code) có thể nhắc bạn tự động sửa. Nếu không, hãy mởtsconfig.json
và thêm"next.config.mjs"
vào mảnginclude
:
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "next.config.mjs", ".next/types/**/*.ts"]
5. Thiết lập MDX Components
- Tạo tệp
mdx-components.js
trong thư mục gốc của dự án:
import { useMDXComponents as getThemeComponents } from 'nextra-theme-docs'
const themeComponents = getThemeComponents()
export function useMDXComponents(components) {
return {
...themeComponents,
...components
}
}
6. Cập nhật App Layout
- Thay thế nội dung của
app/layout.tsx
(hoặcsrc/app/layout.tsx
nếu bạn chọnsrc/
):
import { Footer, Layout, Navbar } from 'nextra-theme-docs'
import { Banner, Head } from 'nextra/components'
import { getPageMap } from 'nextra/page-map'
import 'nextra-theme-docs/style.css'
export const metadata = {
// Define your metadata here
// For more information on metadata API, see: https://nextjs.org/docs/app/building-your-application/optimizing/metadata
}
const banner = <Banner storageKey="some-key">Nextra 4.0 is released 🎉</Banner>
const navbar = (
<Navbar
logo={<b>Nextra</b>}
// ... Your additional navbar options
/>
)
const footer = <Footer>MIT {new Date().getFullYear()} © Nextra.</Footer>
export default async function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html
// Not required, but good for SEO
lang="en"
// Required to be set
dir="ltr"
// Suggested by `next-themes` package https://github.com/pacocoursey/next-themes#with-app
suppressHydrationWarning
>
<Head
// ... Your additional head options
>
{/* Your additional tags should be passed as `children` of `<Head>` element */}
</Head>
<body>
<Layout
banner={banner}
navbar={navbar}
pageMap={await getPageMap()}
docsRepositoryBase="https://github.com/shuding/nextra/tree/main/docs"
footer={footer}
// ... Your additional layout options
>
{children}
</Layout>
</body>
</html>
)
}
7. Thêm các trang tài liệu
- Xóa tệp
app/page.tsx
(hoặcsrc/app/page.tsx
). Điều này khiến ứng dụng của chúng ta báo lỗi 404 ở trang chủ. Đừng lo, chúng ta sẽ khắc phục điều này!

- Tạo một thư mục
resources
trongapp
(hoặcsrc/app
):
/app/resources
/page.mdx
- Thêm nội dung mẫu vào tệp
app/resources/page.mdx
:
Để kiểm tra, tôi đã thêm:
# Resources
Resources related to various topics and fields.
## Learning
- [Build Your Own X](https://github.com/codecrafters-io/build-your-own-x): Master programming by recreating your favourite technologies from scratch.
## Useful Articles
- [CSR vs SSR vs SSG vs ISR: A Deep Dive for Modern Web Development](csr-vs-ssr-vs-ssg-vs-isr-a-deep-dive-for-modern-web-development-33kl#:~:text=Here's%20a%20quick%20summary%3A,as%20SPAs%2C%20CSR%20is%20perfect.)
- [The Art of Comand Line](https://github.co./jlevy/the-art-of-command-line)
Nhưng nội dung không cần phức tạp và có thể đơn giản như:
# Getting Started
Hi <Your Name>! Welcome to your **nextra docs** site:)
- Easy Markdown editing
- Automatic navigation
- Search and TOC built-in
- Việc chuyển hướng trong
next.config.mjs
khắc phục lỗi 404 bằng cách chuyển hướng/
đến/resources
. Chỉ cần làm mới tranghttp://localhost:3000
để xem trang chủ nextra docs của bạn—thật tuyệt vời phải không!

Hãy thử chỉnh sửa trang này, thêm nhiều trang hơn và khám phá tất cả các tính năng như chế độ sáng/tối. Sức mạnh nằm trong tay bạn, và các tùy chọn là vô tận!

Triển khai Nextra Docs lên Vercel
Bây giờ, hãy đưa trang web nextra docs của bạn lên mạng trên Vercel—cực kỳ dễ dàng vì Vercel được xây dựng cho Next.js.
8. Đẩy code của bạn lên GitHub
- Khởi tạo một Git repo:
git init
git add .
git commit -m "Initial nextra docs"
git remote add origin https://github.com/yourusername/your-repo.git
git push -u origin main
- Trước tiên, hãy tạo một repo mới trên GitHub, thay thế
yourusername/your-repo
bằng thông tin chi tiết của bạn.
9. Triển khai lên Vercel
- Truy cập vercel.com, đăng ký hoặc đăng nhập.

- Nhấp vào New Project và import repo GitHub của bạn.
- Vercel tự động nhận diện dự án nextra docs của bạn (áp dụng cài đặt Next.js).
- Nhấp vào Deploy. Trong khoảng 3 phút, trang web của bạn sẽ hoạt động tại một URL như
https://my-nextra-docs.vercel.app
. - Tôi đã triển khai của mình, và việc thiết lập tên miền tùy chỉnh rất dễ dàng!
Tùy chỉnh trang web Nextra Docs của bạn
Muốn làm cho trang web nextra docs của bạn nổi bật? Hãy thử những điều sau:
- Thêm trang: Thêm nhiều tệp
.mdx
vào thư mục/app
hoặc các thư mục con như/resources
. - Chỉnh sửa giao diện: Cập nhật tệp
theme.config.js
cho màu sắc, phông chữ hoặc các tùy chọn thanh bên (xem nextra.site/docs). - Custom Components: Mở rộng tệp
mdx-components.js
hoặc tạo thư mục/components
. - Thiết lập tìm kiếm: Bật tìm kiếm Algolia thông qua
theme.config.js
để tìm kiếm toàn văn. - Live Code: Thêm Sandpack hoặc react-live để tạo các khu vực chạy code tương tác.
Tôi đã thêm một component callout tùy chỉnh vào tài liệu của mình—trông chuyên nghiệp chỉ trong 10 phút!
Khắc phục sự cố và Mẹo cho Nextra Docs
- Lỗi 404 vẫn tồn tại? Đảm bảo chuyển hướng trong
next.config.mjs
trỏ đến/resources
. - Lỗi TS? Xác minh
tsconfig.json
bao gồmnext.config.mjs
. - Triển khai Vercel thất bại? Kiểm tra các script trong
package.json
và xóa bộ nhớ cache của Vercel. - Bối rối với App router? Nextra docs phiên bản 4+ sử dụng Next.js app router; các phiên bản cũ hơn hỗ trợ pages router.
- Muốn xem ví dụ? Clone repo Nextra hoặc kiểm tra nextra.site.
- Mẹo tăng tốc: Sử dụng Turbopack (
next --turbopack
) để phát triển cục bộ nhanh hơn.

Tại sao Nextra Docs và Vercel là một cặp đôi hoàn hảo
Nextra docs giúp việc tạo tài liệu trở nên thú vị với sự đơn giản của Markdown và tốc độ của Next.js. Khả năng triển khai chỉ với một cú nhấp chuột và hosting miễn phí của Vercel là điểm cộng lớn. Chắc chắn, app router có thể gây khó khăn cho người mới dùng Next.js, nhưng tài liệu của Nextra rất đầy đủ. So với Docusaurus, nextra docs cảm giác nhẹ nhàng và hiện đại hơn.
Sẵn sàng ra mắt tài liệu của bạn chưa? Xây dựng trang web nextra docs của bạn và triển khai lên Vercel—tôi rất háo hức được thấy sản phẩm của bạn! Và chắc chắn hãy dùng thử Apidog.
Bạn muốn một nền tảng tích hợp, All-in-One để Nhóm phát triển của bạn làm việc cùng nhau với năng suất tối đa?
Apidog đáp ứng mọi yêu cầu của bạn và thay thế Postman với mức giá phải chăng hơn nhiều!