- vừa được xem lúc

NextJS + TypeScript

0 0 17

Người đăng: Nguyễn Dương Hạnh

Theo Viblo Asia

Tạo project với Next.js và TypeScript

Bài viết này mình viết như một ghi chú cho những lần cần tạo project. Các bạn có thể tham khảo hoặc nếu thấy phù hợp ^^

Lúc trước thì mình hay sử dụng js hơn là ts, đôi lúc có ác cảm với ts vì thấy nó khá là lằng nhằng, tuy nhiên khi sử dụng một thời gian rồi thì mình cảm thấy khá thú vị.

Với những bạn giống mình và muốn thử xem ts có gì vui thì có thể setup một cái project và tự cảm nhận nhé 😄

  • Next v13
    • Node 14.6.0 or newer.
    • MacOS, Windows (including WSL), and Linux are supported.
  • TypeScript v4.9.

Bắt đầu

Có 2 cách để setup TypeScript với Nextjs:

  • Sử dụng create-next-app.
  • Thêm TypeScript vào dự án hiện tại.

create-next-app

Chúng ta có thể bắt đầu dự án Next.js với TypeScript bằng cách sử dụng CLI tool create-next-app và thêm cờ --typescript hoặc --ts phía sau.

npx create-next-app@latest --typescript
# or
yarn create next-app --typescript
# or
pnpm create next-app --typescript

Thêm TypeScript vào dự án Next.js hiện tại

Đầu tiên, chúng ta cần tạo file tsconfig.json ở thư mục gốc của dự án: touch tsconfig.json

Sau đó bạn chạy lệnh để start application, ở đây scripts để start application của mình là yarn dev.

Next.js sẽ thông báo và cố gắng cài các package liên quan đến TypeScript.

It looks like you're trying to use TypeScript but do not have the required package(s) installed. Installing dependencies If you are not trying to use TypeScript, please remove the tsconfig.json file from your package root (and any TypeScript files in your pages directory). Installing devDependencies (yarn): - typescript - @types/react - @types/node [1/4] Resolving packages... [2/4] Fetching packages...

Sau khi cài đặt hoàn thành, mở file tsconfig.json các bạn sẽ thấy nó giống bên dưới:

{ "compilerOptions": { "target": "es5", "lib": [ "dom", "dom.iterable", "esnext" ], "allowJs": true, "skipLibCheck": true, "strict": false, "forceConsistentCasingInFileNames": true, "noEmit": true, "incremental": true, "esModuleInterop": true, "module": "esnext", "moduleResolution": "node", "resolveJsonModule": true, "isolatedModules": true, "jsx": "preserve" }, "include": [ "next-env.d.ts", "**/*.ts", "**/*.tsx" ], "exclude": ["node_modules"]
}

Nếu bạn để ý thì sẽ thấy một file next-env.d.ts, file này đảm bảo Next.js types sẽ được trình biên dịch TypeScript chọn.

Tới đây thì việc thêm TypeScript vào dự án Next.js đã xong. Các bạn bắt đầu code được rồi.

Đối với các bạn mới mới dùng TypeScript và Next.js thì có thể tham khảo thêm 2 link dưới đây để thực hành ^^

React + TypeScript cheatsheet: https://react-typescript-cheatsheet.netlify.app/

NextJS + TypeScript: https://nextjs.org/docs/basic-features/typescript

Kết Luận

Việc cài đặt Next.js với TypeScript thật sự không quá khó phải không nào,

Trong lúc cài đặt thì có thể có một số lỗi liên quan đến version Next.js và TypeScript, tuy nhiên cũng không quá phức tập để giải quyết.

Hẹn gặp lại các bạn ở các bài viết khác !!!

Bình luận

Bài viết tương tự

- vừa được xem lúc

Viết một chiếc app quản lý Hạn sử dụng của thực phẩm

Mở đầu. Tôi là 1 kỹ sư công nghệ thông tin mới ra trường. Trong thời gian học Đại học, từ năm 1 tới năm 4, tôi đi làm thêm tại TSUTAYA (chuỗi cửa hàng bán sách, video...v.v nổi tiếng bên Nhật). Về chiếc App tôi đã phát triển. App tôi phát triển là Web App giúp quản lý hạn sử dụng của đồ ăn.

0 0 52

- vừa được xem lúc

Routing trong Next.js

Trước đó bạn có thể đang tò mò về Next.js, vào đây luôn bạn ơi. (go). .

1 0 56

- vừa được xem lúc

Cài đặt chuyển đổi ngôn ngữ trong một project NextJS

Ở phiên bản Nextjs Version 10 mới đây, việc sử dụng i18n đã trở nên dễ dàng hơn qua tính nâng cao là Internationalized Routing. Cài đặt cấu hình cơ bản. Tại file next.config.

0 0 73

- vừa được xem lúc

Cấu hình eslint airbnb, prettier cho dự next.js sử dụng typescript

Chào mọi, mình đã quay lại đây. Hôm nay mình sẽ đem đến một chủ đề linter cụ thể cấu hình eslint cho dự án next.

0 0 195

- vừa được xem lúc

Handling custom page navigation on Next.js

Last month we discussed about different kind of routing on Next.js. Here's a short example of creating a component that moves the user to next page. import { useRouter } from 'next/router'.

0 0 87

- vừa được xem lúc

Next Image một feature, một nâng cấp tuyệt vời version nextjs 10

NextJS đã cho ra mắt version 10 cách đây 2 tháng với hơn 20 fearture nâng cấp đáng giá. Chúng ta có thể kể ra những features nổi bật như. . Next/Image: với khẳ năng render image cho các kích thước màn hình tương ứng.

0 0 62