:半天搭建Spring Boot+Vue3前后端分離項目)
半天時間我用Claude Code擼了一個前后端分離項目這周請了兩天假本來想好好休息一下結果手癢沒忍住用Claude Code試了試水。結果半天時間一個前后端分離的完整項目就落地了——前端Vue3 后端Spring Boot數(shù)據(jù)庫、接口文檔、部署腳本全齊活。說實話這個效率放在幾年前完全不敢想。先交代一下我的背景寫了快十年Java前端屬于那種能跑就行的水平日常開發(fā)最煩的就是寫CRUD接口和調樣式。所以當我第一次用Claude Code的時候心里是有點懷疑的——這玩意兒真能幫我干活事實證明它不僅幫我干活了而且干得比我想象中好得多。這篇文章我把自己從安裝到實戰(zhàn)的完整過程、踩過的坑、以及我對這類AI編程工具的思考都整理出來希望對你也有幫助。先說結論如果你是個程序員無論你做前端還是后端無論你用沒用過AI編程工具Claude Code都值得你花一個下午認真試試。尤其你手上正好有一個前后端分離的練手項目或者工作里經(jīng)常要寫一些基礎模塊它能幫你節(jié)省大量重復勞動的時間。當然它不是萬能的該踩的坑我一個沒少踩下面詳細說。1. 為什么選Claude Code這個AI編程助手和別的有什么不一樣1.1 核心解決了什么問題前后端分離項目大家都知道流程無非是搭前端框架、寫后端接口、聯(lián)調、測試、部署。聽起來不復雜但每一步都有大量的重復性工作。以前我搭一個簡單的管理后臺光初始化工程、寫用戶登錄注冊、做幾個增刪改查頁面至少得兩天。用Claude Code的核心變化在于它把寫代碼這個動作從逐字符敲變成了描述需求等結果。我只需要用自然語言告訴它我要一個用戶管理模塊包含列表、新增、編輯、刪除功能后端用Spring Boot前端用Vue3它就能自動分析需求然后自己決定先創(chuàng)建哪些文件、怎么組織目錄結構、怎么寫接口最終產(chǎn)出一整套可以運行的前后端代碼。這個過程有點像你帶了一個完全熟悉你技術棧的實習生你跟他說清楚需求他就能把活干完干完之后你還得檢查一下質量。1.2 和Codex等工具的核心差異現(xiàn)在市面上AI編程工具不少OpenAI的CodexGitHub Copilot還有各種基于大模型的IDE插件。我在選型的時候重點對比了Codex和Claude Code這里直接說我的結論交互方式不同Claude Code是一個命令行工具跑在終端里和你的開發(fā)環(huán)境深度融合。它不是簡單的對話窗口而是能直接操作你項目里的文件的Agent。Codex相對更偏向對話式輔助雖然也能操作代碼但整體體驗不如Claude Code來得自主。對項目的理解能力Claude Code在分析項目結構、理解現(xiàn)有代碼方面做得相當好。你打開一個項目目錄它能自己瀏覽文件、理清模塊之間的關系然后基于整體上下文去改代碼。這一點比單純的根據(jù)你的問題生成一段代碼要強太多。前后端分離場景的貼合度Claude Code的Agent模式特別適合前后端分離這種多端協(xié)同的項目。它可以在后端寫個接口然后自動去前端把對應的請求代碼也寫了這種端到端的能力是我選它的決定性因素。1.3 適合什么人來用說句實在話Claude Code不是給完全零基礎的人用的。它適合的人群有兩類第一類是像我這樣有一定開發(fā)經(jīng)驗的人。你懂業(yè)務邏輯能發(fā)現(xiàn)問題能做技術決策Claude Code負責快速實現(xiàn)。這時候它就是效率放大器。第二類是正在學習編程的人。前提是你愿意讀它生成的代碼而不是無腦復制粘貼。Claude Code寫出來的代碼質量整體不錯看它怎么組織代碼、怎么寫注釋其實是一種很好的學習方式。但如果你完全不懂代碼想靠它憑空變出一個能上線的項目那大概率會翻車。因為AI生成的代碼可能有bug可能有安全隱患甚至可能架構設計就不合理這些都需要人來把關。2. 環(huán)境準備與安裝從零到能用只需十分鐘2.1 安裝前置條件Claude Code的安裝其實非常簡單官網(wǎng)給的文檔也很齊全。你只需要準備兩樣東西一個Node.js環(huán)境版本要求我記得是18以上最好用最新的LTS版本一個Claude的賬號以及API密鑰Node.js這個不用我多說前后端分離項目里前端構建工具Vite、Webpack都依賴它。如果你電腦上還沒有Node.js去官網(wǎng)下載安裝包一鍵裝上就行。裝完之后在終端里驗證一下node -v npm -v能看到版本號就說明沒問題。2.2 安裝Claude Code安裝Claude Code用的是npm一行命令搞定npm install -g anthropic-ai/claude-code這里有個小細節(jié)值得注意安裝完之后你可能需要配置PATH環(huán)境變量。我自己在Windows和Mac上都裝過Windows上偶爾會遇到claude不是內部或外部命令的報錯這時候檢查一下npm全局安裝目錄有沒有加到PATH里就行。# 查看npm全局安裝路徑 npm prefix -g把輸出結果加到系統(tǒng)PATH環(huán)境變量里重新打開終端就OK了。Mac上一般不用操心這個因為Homebrew安裝的Node.js會自動配置好。2.3 配置API密鑰和模型參數(shù)安裝完成后需要配置API密鑰。第一次運行claude命令的時候它會引導你登錄賬號或者你可以手動設置環(huán)境變量export ANTHROPIC_API_KEY你的API密鑰Windows上可以用setx命令設置或者直接在環(huán)境變量里添加。關于模型參數(shù)Claude Code默認用的是Anthropic的最新模型日常夠用了。如果你有特殊需求可以通過配置文件調整比如設置claudeModel參數(shù)來選擇不同的模型版本。這一塊我不展開太多因為對大多數(shù)人來說默認配置就已經(jīng)很好用。2.4 在VS Code里使用Claude Code用命令行跑Claude Code已經(jīng)很好用了但我更推薦你配一個VS Code的Claude Code插件。官方插件在VS Code插件市場里直接搜Claude Code就能找到。裝上插件之后你可以在編輯器側邊欄直接和Claude對話它能看到你當前打開的文件、項目目錄結構然后給出建議或者直接幫你改代碼。實測下來插件的體驗比純終端交互更直觀尤其是看它修改代碼的時候左邊是原文件右邊是修改后的diff一目了然。提示如果你本地裝了Ollama之類的本地大模型也可以通過配置把Claude Code接到本地模型上。但對大多數(shù)人來說直接用官方API體驗最好省心。3. 半天實戰(zhàn)從零搭建一個前后端分離項目3.1 明確需求別什么都指望AI先把需求說清楚。我要做的項目是一個簡單的任務管理系統(tǒng)功能包括用戶注冊登錄JWT鑒權任務的增刪改查支持分頁查詢任務的狀態(tài)流轉待辦、進行中、已完成前端頁面登錄頁、注冊頁、任務列表頁、任務編輯頁技術棧定為后端Spring Boot 2.7 MyBatis-Plus MySQL前端Vue3 Vite Element Plus Axios。這個需求屬于非常典型的CRUD應用邏輯清晰、邊界明確。Claude Code對于這種需求的完成度非常高因為它見過太多類似的項目了代碼模式早就固化在它的記憶里。3.2 初始化項目結構我建議你在開始之前自己先把項目的空目錄結構建好然后告訴Claude Code在這個目錄下創(chuàng)建前后端分離項目。這樣它就能清晰地知道前后端代碼該放哪里而不是把一堆文件全塞在根目錄下。mkdir task-manager cd task-manager mkdir backend frontend然后啟動Claude Codecd task-manager claude進入交互界面之后第一條指令我寫的是這是一個前后端分離項目backend目錄下創(chuàng)建一個Spring Boot項目前端在frontend目錄下創(chuàng)建一個Vue3項目。先幫我看看當前目錄結構然后分別初始化兩個項目的基礎架構。它很快就回復了它的計劃經(jīng)過我確認后開始動手。這里有個很好的習慣值得分享在讓AI動手之前先讓它說出自己的計劃。一方面你可以確認它理解得對不對另一方面如果方向偏了你還能及時糾正避免白干。3.3 后端開發(fā)讓它先搭建數(shù)據(jù)庫和實體層后端部分我做的第一件事是設計數(shù)據(jù)庫表。我直接告訴Claude Code設計兩張表sys_user和tasksys_user存用戶信息id、username、password、create_timetask存任務信息id、user_id、title、description、status、create_time、update_time。然后根據(jù)表結構生成實體類、Mapper接口、Service和Controller實現(xiàn)用戶注冊登錄和任務的增刪改查。這個過程Claude Code干了大概五分鐘。它自己創(chuàng)建了Entity、Mapper、Service、ServiceImpl、Controller還把MyBatis-Plus的配置都寫好了。我只需要做一件事把數(shù)據(jù)庫連接配置改成本地的賬號密碼。生成完代碼之后我讓它把啟動類跑起來測試一下接口是不是通的它給的回復是你可以用如下方式啟動啟動后訪問http://localhost:8080/api/users/register做驗證。雖然它沒法完全代替我去調試但這些指令已經(jīng)足夠清晰了。3.4 前端開發(fā)風格統(tǒng)一且能用后端搞定之后我切到前端目錄在frontend目錄下創(chuàng)建一個Vue3項目使用Vite構建工具UI框架用Element Plus安裝Axios。創(chuàng)建登錄頁、注冊頁、任務列表頁、任務編輯頁用Vue Router管理路由。登錄后把token存在localStorageAxios請求攔截器里自動帶上token。前端這部分對我的挑戰(zhàn)比較大——我平時寫前端最頭疼的就是各種CSS細節(jié)。Claude Code生成的頁面使用了Element Plus的現(xiàn)成組件界面風格統(tǒng)一幾乎不需要我自己寫樣式。它還自動處理了路由守衛(wèi)未登錄的用戶訪問任務列表會自動跳轉到登錄頁。這里有個細節(jié)值得說Claude Code生成的代碼命名規(guī)范非常統(tǒng)一。不管是用例還是配置不管是組件名還是方法名風格都很一致這比很多開發(fā)者的手寫代碼還要規(guī)范。代碼里注釋也寫得恰到好處不是廢話注釋是能幫你理解邏輯那種。3.5 接口聯(lián)調AI幫你把兩邊的接口對接好后端在前端開發(fā)過程中我一直在它生成的API文檔里查接口定義。更省事的是Claude Code在寫完后端接口后會在接口的注釋里生成類似Swagger的描述前端部分對接的時候完全不需要問我這個接口的返回值是什么它自己就能看到后端的代碼定義。聯(lián)調階段我讓它把前端的用戶登錄接口和后端的登錄接口對齊它自己檢查了一遍URL和參數(shù)格式很快發(fā)現(xiàn)了一個問題后端返回的字段叫accessToken前端代碼里取的卻是token。這種情況放在以前我得前后端來回切著看代碼才能發(fā)現(xiàn)現(xiàn)在它幾秒鐘就搞定了。3.6 項目部署一條命令發(fā)布到服務器項目開發(fā)完成后部署也是前后端分離項目的一個大坑。我讓Claude Code幫我寫一份部署文檔包括后端怎么打包mvn package前端怎么構建npm run buildNginx怎么配置反向代理和靜態(tài)文件服務它還幫我寫了一個一鍵部署腳本通過SSH登錄服務器、上傳文件、重啟服務一氣呵成。這些腳本邏輯不復雜但把它寫在文檔里非常省心照著執(zhí)行就行。4. 實操過程中的12個問題與排查技巧4.1 常見報錯與解決方案我把自己實際操作中遇到的一些常見問題整理了一下你可以收藏本文真正用到時再回來對照。問題可能原因解決方案claude命令找不到npm全局目錄不在PATH中檢查npm prefix添加環(huán)境變量Claude Code亂碼終端編碼問題Windows下執(zhí)行chcp 65001切換為UTF-8編碼API請求超時網(wǎng)絡不穩(wěn)定重試或檢查代理設置模型返回內容截斷上下文過長分模塊讓它處理別一次塞太多需求修改不生效AI修改的文件和當前打開的文件沖突保存文件后重新讓其讀取最新代碼你所在組織已禁用Claude訂閱訪問賬號問題檢查賬號權限確認API密鑰是否有效前后端聯(lián)調接口對不上字段定義不一致把前后端對應代碼丟給它對比讓它自查生成的代碼有低級bug需求描述不清晰嘗試拆小需求分步交付反復修改卻越改越差上下文丟失新開對話把需求重新說一遍帶上關鍵的文件內容數(shù)據(jù)庫連接失敗賬號密碼配置錯誤檢查組態(tài)文件特別是yml里的縮進前端樣式錯亂CSS沖突讓它使用scoped樣式明確組件邊界想用DeepSeek等第三方模型默認模型不滿足需求按官方文檔配置第三方API地址但注意兼容性4.2 代碼生成質量的控制方法這里必須展開說說反復修改越改越差這個問題。我第一次用的時候讓它改一個功能模塊連續(xù)改了三輪都不對。后來發(fā)現(xiàn)是我自己的鍋——我把它生成的舊代碼手動改了再讓它繼續(xù)改時會加載到新舊混雜的代碼邏輯自然就亂了。正確的做法是改之前先明確告訴它保留A刪除B把C改成D。這樣它的修改就是精準的不會誤傷其他功能。另外項目規(guī)模比較大的時候建議每周手動提交一次代碼這樣萬一AI改壞了還能用git回滾。4.3 Token消耗技巧省錢和續(xù)命的關鍵很多人在網(wǎng)上吐槽Claude Code太費token其實大多是因為使用方法不對。我的經(jīng)驗是會話別開太久干完一個大模塊就重開一個會話這樣上下文重新開始消耗的token會少很多。善于使用子代理Claude Code支持在任務中再開一個子對話子對話的上下文和主對話是隔離的適合獨立的小任務。項目索引控制在合理范圍如果你項目里有一個巨大的node_modules目錄它默認會忽略掉不會浪費token去讀這些文件。實測下來我建一個完整的CRUD項目、包含前后端大概消耗的token量相當于幾十萬字的內容折算成費用在幾塊錢到十幾塊錢人民幣之間。相比請一個實習生或者外包這個成本幾乎可以忽略不計。5. 實戰(zhàn)總結我對Claude Code的幾點經(jīng)驗與心得5.1 它能做到什么不能做到什么用了一個周末我對Claude Code的能力邊界有了一個比較清晰的認識。它能做到的從零搭建項目腳手架快速生成可運行的代碼框架CRUD類的業(yè)務代碼寫得很規(guī)整前后端聯(lián)調、字段對齊這種活兒比人仔細生成腳本、部署文檔、測試用例效率極高閱讀已有代碼做局部重構效果不錯它做不到的理解復雜的業(yè)務邏輯尤其是涉及大量隱性規(guī)則的業(yè)務設計系統(tǒng)架構做技術選型它只會給出常見方案不會給出最優(yōu)方案保證代碼的安全性比如SQL注入、越權問題它不會主動替你擋通過測試驗證代碼質量它相信你測過了比你自己還信所以在使用上我給自己定了幾條規(guī)矩凡是涉及錢、用戶數(shù)據(jù)、權限控制的核心代碼一定會親手review所有生成代碼必須真實跑一遍測試不能看起來沒問題就上線。5.2 如何讓Claude Code更懂你的需求寫提示詞這件事我踩了不少坑之后總結出了幾個關鍵點。首先需求描述越具體輸出質量越高。你說幫我生成一個用戶模塊它只能給你一個最通用的模板。但你說幫我生成一個用戶管理模塊包含分頁列表、時間范圍篩選、批量刪除和狀態(tài)啟用禁用輸出的代碼匹配度立刻高一個臺階。其次用對比的方式告訴它要什么。比如參考xxx項目的寫法或者不要用xxx模式。因為AI模型理解對比比理解抽象描述更容易。最后定期讓它梳理項目結構。每過一段時間讓它生成一份當前項目的README或者目錄說明這樣后續(xù)對話里它會有更清晰的上下文。5.3 關于AI編程我的真實看法我在這個行業(yè)干了十年經(jīng)歷過各種新技術從炒作到落地的過程。對Claude Code這類工具我的態(tài)度是別怕它但也別神化它。它能幫你做的是把那些你早就寫過無數(shù)遍的重復代碼、框架搭建、模板拼接工作全部接管。這對整個行業(yè)的生產(chǎn)力提升是實實在在的。但能寫好CRUD不等于能設計系統(tǒng)能寫代碼更不等于能定義問題。真正的價值創(chuàng)造還是在人對業(yè)務的理解、對技術方案的判斷以及對質量的把控上。用Claude Code干活這半天我最大的收獲不是節(jié)省了兩天時間而是我把省下來的時間花在了更重要的事情上——琢磨這個項目的業(yè)務邏輯有沒有更優(yōu)的解法數(shù)據(jù)庫結構有沒有更合理的規(guī)劃。這些才是程序員真正不可替代的部分。最后分享一個小技巧多用git做版本管理每次讓Claude Code做大改動前先commit一次。有了這個保底動作你就敢放開手腳讓它去造大不了回滾重來。這也是我在多次AI改壞了之后總結出來的血淚經(jīng)驗希望對你有用。