Nest.js 是一個高效、可擴展的Node.js後端框架,並運用大量的設計模式與架構規範,搭配TypeScript,來提供開發者嚴謹、有組織的開發環境。並且之後我們要在後端使用GraphQL來傳遞資料回我們的Next.js。
為了在 NX 專案中創建 Nest.js 後端,首先需要安裝相應的依賴。執行以下命令來添加必要的 Nest.js 依賴:
pnpm add -D @nx/nest
接下來進行Nest設置,執行命令創建Nestjs
pnpm exec nx g @nx/nest:app iron-ecommerce-server --frontendProject iron-ecommerce-next
由於 Nest.js 廣泛使用了 Decorator,並且可能出現錯誤,所以我們需要對 Prettier 進行一些配置解決問題,修改importOrderParserPlugins
// .prettierrc
{
"endOfLine": "lf",
"printWidth": 120,
"useTabs": true,
"semi": true,
"singleQuote": false,
"trailingComma": "none",
"plugins": ["@trivago/prettier-plugin-sort-imports"],
"importOrder": ["^@core/(.*)$", "^@server/(.*)$", "^[a-z]"],
"importOrderParserPlugins": ["typescript", "decorators-legacy"],
"importOrderSeparation": true
}
完成配置後,使用 Ctrl+Shift+P 開啟命令面板,並執行 restart TS server
接下來,讓我們嘗試啟動 Nest.js 伺服器並進行測試。執行以下命令來啟動伺服器
pnpm exec nx run iron-ecommerce-server:serve
伺服器啟動後,打開瀏覽器並導航到 http://localhost:3000/api
。我們應該能看到以下輸出
{
"message": "Hello API"
}
通過本文,我們成功在 NX 工作空間中創建了一個 Nest.js 後端應用程序。我們安裝了必要的依賴,然後修改設定Prettier
以適應Nest.js中的 Decorator,最後我們啟動了伺服器並進行了簡單的測試。