Phát Triển Cục Bộ
Các dự án được kết nối cung cấp hai target để chạy chúng trên máy của bạn: serve và dev. Sự khác biệt là về phạm vi — bao nhiêu phần của ứng dụng chạy cục bộ so với việc trỏ đến cơ sở hạ tầng AWS đã triển khai.
Xem xét một workspace với các kết nối sau: một website gọi một api tRPC, và cũng gọi một agent mà lần lượt gọi một máy chủ mcp.
serve
Phần tiêu đề “serve”Target serve chỉ chạy dự án được chỉ định cục bộ. Mọi dự án khác mà nó kết nối đến được mong đợi là đã triển khai, và được truy cập tại URL AWS thực của chúng.
pnpm nx serve websiteyarn nx serve websitenpx nx serve websitebunx nx serve websiteBởi vì dự án được chỉ định giao tiếp với các tài nguyên đã triển khai, nó cần biết chúng ở đâu. Đối với một website, điều này được cung cấp bởi runtime-config.json của nó (xem Local Runtime Config), mà bạn tải từ một ứng dụng đã triển khai. Đối với các dự án phía máy chủ (API và agent) đọc Runtime Configuration, đặt biến môi trường RUNTIME_CONFIG_APP_ID để trỏ đến ứng dụng AppConfig đã triển khai của bạn.
Sử dụng serve khi bạn muốn lặp lại trên một dự án duy nhất so với các phiên bản “thực”, đã triển khai của mọi thứ mà nó phụ thuộc vào.
Target dev chạy dự án được chỉ định và mọi dự án được kết nối với nó một cách bắc cầu, tất cả trên máy của bạn. Trình tạo kết nối tự động thiết lập điều này — chạy dev trên website cũng khởi động các máy chủ cục bộ cho api, agent, và máy chủ mcp mà nó truy cập thông qua agent.
pnpm nx dev websiteyarn nx dev websitenpx nx dev websitebunx nx dev websiteKhi chạy theo cách này, runtime-config.json của website được tự động ghi đè (thông qua Vite’s MODE, được đặt thành local-dev) để nó trỏ đến các máy chủ đang chạy cục bộ của bạn thay vì các URL đã triển khai.
Mọi dự án đều chạy cục bộ, vì vậy không có phụ thuộc đã triển khai.
Sử dụng dev khi bạn đang làm việc trên nhiều dự án được kết nối cùng một lúc và muốn lặp lại nhanh chóng mà không cần triển khai cơ sở hạ tầng của bạn.
Dự án với nhiều thành phần
Phần tiêu đề “Dự án với nhiều thành phần”Một số loại dự án có thể chứa nhiều thành phần trong một dự án duy nhất (ví dụ như một dự án TypeScript hoặc Python chứa nhiều agent và máy chủ MCP). Đối với những dự án này:
- Target
devcấp dự án khởi động tất cả các thành phần của dự án cùng nhau. Mỗi thành phần được thêm vàodevkhi nó được tạo:
pnpm nx dev my-projectyarn nx dev my-projectnpx nx dev my-projectbunx nx dev my-project- Mỗi thành phần cũng cung cấp một target
<component-name>-dev, vì vậy bạn có thể chạy một thành phần duy nhất riêng lẻ:
pnpm nx my-component-dev my-projectyarn nx my-component-dev my-projectnpx nx my-component-dev my-projectbunx nx my-component-dev my-projectĐể biết thêm chi tiết về máy chủ phát triển cục bộ của từng loại dự án, xem hướng dẫn liên quan — ví dụ như hướng dẫn React Website.