国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ChatGPT和Copilot協(xié)助Vue火速搭建博客網(wǎng)站

這篇具有很好參考價(jià)值的文章主要介紹了ChatGPT和Copilot協(xié)助Vue火速搭建博客網(wǎng)站。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

AI 對(duì)于開發(fā)人員的核心價(jià)值

網(wǎng)上會(huì)看到很多 AI 的應(yīng)用介紹或者教程

  • 使用 AI 聊天,咨詢問題 —— 代替搜索引擎
  • 使用 AI 寫各種的電商文案(淘寶、小紅書)
  • 使用 AI 做一個(gè)聊天機(jī)器人 —— 這最多算獵奇、業(yè)余愛好、或者搞個(gè)套殼產(chǎn)品來(lái)收費(fèi)

以上這些都不是。AI 對(duì)于開發(fā)人員的最大價(jià)值就是?——?開發(fā)提效

  • 使用 AI 快速生成代碼
  • 使用 AI 快速解決 bug
  • 使用 AI 讓你一個(gè)人頂三個(gè)人的工作效率 —— 這才是老板所期望的,同時(shí)也是你的競(jìng)爭(zhēng)力

所以,未來(lái)可能讓你失業(yè)的不是 AI ,而是你身邊懂 AI 的同事

直接看成品:

開干:

項(xiàng)目需求和設(shè)計(jì)

需求:

ChatGPT 提問:

你是互聯(lián)網(wǎng)行業(yè)一名資深的產(chǎn)品經(jīng)理,現(xiàn)在主導(dǎo)設(shè)計(jì)一個(gè)博客產(chǎn)品的需求,這個(gè)產(chǎn)品是面向編程技術(shù)人員的,例如簡(jiǎn)書、博客園、掘金這種網(wǎng)站。要求產(chǎn)品以博客功能為主,不要有其他無(wú)關(guān)功能。你來(lái)寫這個(gè)產(chǎn)品的需求文檔,先列出需求大綱。

ChatGPT 回復(fù)了詳細(xì)的需求大綱,非常專業(yè)、全面。

?

ChatGPT和Copilot協(xié)助Vue火速搭建博客網(wǎng)站,1024程序員節(jié),vue,chatgpt,copilot

技術(shù)選型

自己定,沒必要交給 ChatGPT

  • 使用 Vue3 Pinia Vue-router
  • 使用 ElementPlus

創(chuàng)建 Vue3 開發(fā)環(huán)境,參考官網(wǎng)?https://cn.vuejs.org/guide/quick-start.html

  • 使用 Vue Router
  • 使用 Pinia

并安裝 ElementPlus?https://element-plus.gitee.io/zh-CN/

去掉無(wú)用代碼

  • 對(duì)于?./assets/main.css?,只保留第一行?base.css?,其他全部注釋掉
  • 整理 App.vue AbountView.vue HomeView.vue

為 ChatGPT 切換角色

基于之前的需求和頁(yè)面,繼續(xù)提問

你現(xiàn)在是一名資深前端工程師,精通 vue3 技術(shù)棧,接下里要根據(jù)上面的需求來(lái)開發(fā)這個(gè)項(xiàng)目。 以上需求你能理解嗎?

路由設(shè)計(jì)

提問:

根據(jù)以上需求,需要拆分幾個(gè)頁(yè)面?以及如何配置 vue3 路由? 需要你寫出: 1. 每個(gè)頁(yè)面的名稱、介紹、文件目錄; 2. 路由配置代碼;

PS:路由配置可以不用?import()?語(yǔ)法,直接要求 ChatGPT 重寫即可

借助 Copilot 快速寫代碼

根據(jù) ChatGPT 的分析,寫代碼

(可以到*??等渠道獲得? 挺便宜的)

其中會(huì)用到 Copilot?,寫起來(lái)很快

API 設(shè)計(jì)

提問

根據(jù)你對(duì)以上需求的理解,這個(gè)項(xiàng)目需要服務(wù)端提供哪些 API 接口? 請(qǐng)寫出:1. 接口地址;2.接口描述;3.請(qǐng)求數(shù)據(jù)格式的示例;4.返回?cái)?shù)據(jù)格式的示例;

檢查這個(gè) API 設(shè)計(jì),它可能會(huì)遺漏一些,可以繼續(xù)提問:

你還有一些需求沒有考慮到,例如博客分類、搜索博客、刪除博客、點(diǎn)贊、收藏、評(píng)論等。 請(qǐng)?jiān)僭敿?xì)分析上面的需求,重新給出一個(gè) API 列表

PS:設(shè)計(jì)中盡量保證 API 完善,其他再有遺漏的,可以開發(fā)中繼續(xù)補(bǔ)充

寫 API 相關(guān)代碼

先安裝 axios?npm i axios --save

提問:

以上接口設(shè)計(jì),我想用 axios 進(jìn)行封裝,要求拆分為 blog comment user 三個(gè)模塊,應(yīng)該創(chuàng)建哪些 js 文件? 先列出文件名稱、目錄和說(shuō)明

ChatGPT 列出了四個(gè)文件:blogAPI commentAPI userAPI 和 axiosInstance

繼續(xù)提問:

根據(jù)你的設(shè)計(jì),先寫出 axiosInstance.js 的代碼內(nèi)容。 請(qǐng)求時(shí)要帶上 token

PS:重寫 response 攔截器,可用 Copilot 生成代碼

繼續(xù)提問:

再根據(jù)上面的 API 設(shè)計(jì),寫出 blogApi.js 的代碼內(nèi)容 (它可能考慮不那么全面,可繼續(xù)追問:你沒有考到了搜索、點(diǎn)贊、收藏。請(qǐng)重新寫這份代碼。)

根據(jù)以上方式,繼續(xù)提問其他 API 的代碼

可以看到效果還行:

ChatGPT和Copilot協(xié)助Vue火速搭建博客網(wǎng)站,1024程序員節(jié),vue,chatgpt,copilot

路由模板

分析

  • App.vue
  • 頂部欄,包含 Logo 導(dǎo)航 搜索 登錄
  • 網(wǎng)頁(yè)主體,包含?<RouterView />

直接寫 頂部欄 代碼

ChatGPT 提問:

請(qǐng)用 vue3 和 ElementPlus 寫一個(gè)頂部導(dǎo)航欄,寬度 100% 。 導(dǎo)航欄分左右兩部分。左側(cè)是 logo 和導(dǎo)航菜單。右側(cè)是搜索組件和登錄菜單。 導(dǎo)航菜單有三個(gè):前端 java 和 python,使用 vue-router 實(shí)現(xiàn)鏈接。每個(gè)菜單前面加上合適的 icon

把代碼貼過(guò)來(lái)測(cè)試,效果并不好

  • ChatGPT 按照你的文字要求寫出了代碼
  • 但這明顯不是我們預(yù)期的 UI 效果
  • 這不是 ChatGPT 的錯(cuò)誤,而是我們無(wú)法準(zhǔn)確表達(dá)自己心理的想法 (人類的語(yǔ)言是抽象的)

所以,遇到復(fù)雜的功能、設(shè)計(jì),要去拆分任務(wù),一步一步去執(zhí)行?——?這和你帶團(tuán)隊(duì)、帶項(xiàng)目是一樣的

換一種方式

ChatGPT 提問:

請(qǐng)用 vue3 和 ElementPlus 寫一個(gè)組件,組件包括兩個(gè)部分: 第一,頂部導(dǎo)航欄。寬度 100% 。左右結(jié)構(gòu),左側(cè)是 log ,右側(cè)是“登錄”鏈接。 第二,主體部分。寬度 1000px ,左右居中。主體部分要包含 <RouterView /> 組件。

寫 logo

直接手寫

  • 使用?<router-link>?鏈接到首頁(yè)
  • 設(shè)置樣式?text-decoration: none;

修改網(wǎng)頁(yè)標(biāo)題

  • 在?index.html?寫默認(rèn)標(biāo)題 TechBlog
  • 自定義修改標(biāo)題,可想 ChatGPT 提問,代碼參考?hooks/usePageTitle.js

使用 vue3 composition API 寫一個(gè) hook ,可以在多個(gè)組件中使用,用來(lái)修改網(wǎng)頁(yè)標(biāo)題

頂部欄

  • 導(dǎo)航
  • 搜索
  • 登錄/用戶信息

導(dǎo)航組件

ChatGPT 提問

使用 vue3 和 ElementPlus 寫一個(gè)菜單組件,包含:前端、Java、Python、小程序 要求如下: 1. 每個(gè)菜單點(diǎn)擊時(shí),都跳轉(zhuǎn)到首頁(yè),并加一個(gè) query `?category=xxx` 2. activeMenu 要根據(jù) url query `category` 參數(shù)實(shí)時(shí)變化,默認(rèn)值是空 3. 使用 vue3 setup script 語(yǔ)法

新建組件?components/NavMenu.vue?,把代碼貼上。并增加:

  • menu 樣式增加?margin-left: 20px
  • 導(dǎo)航欄,加一個(gè)?border-bottom
  • Menu 向下移動(dòng) 1px ,可向 ChatGPT 提問:

我想把一個(gè) div 的位置僅往下移動(dòng) 1px (其他方向不變),同時(shí)不影響父元素的位置。使用 css 怎么寫?

代碼

position: relative; margin-bottom: -1px;

最后,把?<NavMenu/>?組件引用到 App.vue

搜索框組件

ChatGPT 提問

使用 vue3 和 ElementPlus 寫一個(gè) input search 組件。要求: 1. 搜索時(shí)跳轉(zhuǎn)到當(dāng)前 path ,并加一個(gè) query `?keyword=xxx` ,且保留現(xiàn)有的 url query 2. 實(shí)時(shí)監(jiān)聽 url query `keyword` 并講內(nèi)容顯示到 input 中 3. 使用 vue3 setup script 語(yǔ)法

新建組件?components/SearchInput.vue?,把代碼貼上。并增加

  • input 加一個(gè)后綴按鈕,點(diǎn)擊觸發(fā) handleSearch
  • input 回車事件改為?@keyup.enter

最后,把?<SearchInput/>?組件引用到 App.vue

登錄/用戶信息

新建組件?components/UserInfo.vue

先寫一個(gè)“登錄”鏈接,后面再補(bǔ)充用戶信息

注冊(cè)頁(yè)面

頁(yè)面

ChatGPT 提問

使用 vue3 和 ElementPlus 寫一個(gè)注冊(cè)頁(yè)面,包含一個(gè)標(biāo)題“注冊(cè)新用戶”和一個(gè)表單。要求: 1. 頁(yè)面內(nèi)容水平垂直居中 2. 注冊(cè)表單包含:用戶名(必填)、密碼(必填)、確認(rèn)密碼、昵稱、注冊(cè)按鈕 3. 注冊(cè)表單要根據(jù) item 數(shù)據(jù)類型設(shè)置校驗(yàn)規(guī)則 4. 使用 vue3 setup script 語(yǔ)法

把代碼拷貝到?views/UserRegisterView.vue?做如下調(diào)整:

  • 調(diào)整樣式: 1.標(biāo)題加?margin-bottom; 2.調(diào)整 form 寬度; 3.高度太大,有滾動(dòng)條,改成?80vh;
  • 添加登錄鏈接

登錄頁(yè)

關(guān)于 JWT

(可畫圖解釋)

  • 登錄,傳入用戶名和密碼,服務(wù)端校驗(yàn)
  • 校驗(yàn)成功返回 token 加密了用戶信息
  • 客戶端下次請(qǐng)求帶著 token 表明用戶信息

頁(yè)面

ChatGPT 提問

使用 vue3 和 ElementPlus 寫一個(gè)登錄頁(yè)面,包含一個(gè)標(biāo)題“用戶登錄”和一個(gè)表單。要求: 1. 頁(yè)面內(nèi)容水平垂直居中。標(biāo)題和表單之前有 20px 間隔 2. 登錄表單包含:用戶名(必填)、密碼(必填)、登錄按鈕。登錄按鈕后加一個(gè)鏈接“新用戶請(qǐng)注冊(cè)”,點(diǎn)擊跳轉(zhuǎn)到注冊(cè)頁(yè) 3. 登錄表單要根據(jù) item 數(shù)據(jù)類型設(shè)置校驗(yàn)規(guī)則 4. 使用 vue3 setup script 語(yǔ)法

遇到問題再繼續(xù)修改,例如?以上代碼有兩個(gè)問題:1. form 的 label 寬度沒有固定;2.頁(yè)面內(nèi)容沒有垂直居中;

把代碼拷貝到?views/UserLoginView.vue?并做如下調(diào)整:

  • 高度太大,有滾動(dòng)條,改成?80vh;
  • form 加一個(gè)屬性?label-width="100px"

獲取用戶信息

  • 在?App.vue?中請(qǐng)求用戶信息,并存儲(chǔ)到 Pinia
  • 在登錄、注冊(cè)頁(yè)獲取用戶信息,并判斷跳轉(zhuǎn)
  • 在?components/UserInfo.vue?獲取用戶信息

介紹 Pinia

簡(jiǎn)介 | Pinia

  • Vue3 狀態(tài)管理庫(kù),vue-cli 默認(rèn)推薦
  • 比 Vuex 更加簡(jiǎn)潔,如去掉了 mutation module 等
  • 能更好的使用 Vue3 Composition API

使用 Copilot 寫 Pinia 代碼

參考當(dāng)前的?stores/counter.js?來(lái)寫即可

首頁(yè)請(qǐng)求用戶信息

先寫 mock-server

再寫代碼,參考 App.vue

登錄、注冊(cè)頁(yè)

使用?watchEffect?監(jiān)測(cè)變化,并跳轉(zhuǎn)?——?可抽離單獨(dú)的 Hook?useNavToLogin.js

【注意】這里沒有使用導(dǎo)航守衛(wèi),有問題?(代碼參考?router/index.js

  • 使用?<router-link>?跳轉(zhuǎn),沒問題
  • 但直接訪問?/login?,無(wú)法第一時(shí)間獲取到 pinia store

顯示用戶信息

修改?components/UserInfo.vue?代碼

ChatGPT 提問:

使用 vue3 和 ElementPlus 寫一個(gè)下拉菜單,標(biāo)題是 `nickname` 下拉菜單有兩個(gè): 1. 創(chuàng)建博客,點(diǎn)擊跳轉(zhuǎn)到 `/create-edit-blog` 2. 我的博客,點(diǎn)擊跳轉(zhuǎn)到 `/my-blogs` 3. 注銷,點(diǎn)擊執(zhí)行一個(gè)函數(shù)

ChatGPT?寫的不好,再用 Copilot 提問?使用 element-plus 實(shí)現(xiàn)一個(gè)下拉菜單?,也寫的不好

最后不得已從官網(wǎng)拷貝?Dropdown 下拉菜單 | Element Plus

另外,ElementPlus 的 icon 需要單獨(dú)安裝和注冊(cè),參考?main.js

完善代碼(結(jié)合 Copilot)

  • 使用?v-if?v-else?判斷顯示內(nèi)容
  • 跳轉(zhuǎn)到“我的博客”頁(yè)面
  • 注銷,清空 store 內(nèi)容,清空 token

首頁(yè)

梳理需求

  • 博客列表:分類,搜索,分頁(yè)
  • 單個(gè)博客:顯示博客信息,點(diǎn)擊進(jìn)入詳情頁(yè)

mock

獲取博客列表的接口?/api/blogs

ChatGPT 提問

生成 10 條博客數(shù)據(jù),JSON 格式,用于 mock 服務(wù)。 編程技術(shù)類博客,如前端、Java、Python、小程序等,內(nèi)容要貼近真實(shí)的技術(shù)博客內(nèi)容。 每條博客內(nèi)容如下: - id (唯一,不可重復(fù)) - 標(biāo)題 - 簡(jiǎn)介(50-100字) - 分類(隨機(jī)選擇:前端, java, python, 小程序)要和標(biāo)題、簡(jiǎn)介對(duì)應(yīng)好 - 作者 - 點(diǎn)贊數(shù)量 - 收藏?cái)?shù)量 - 評(píng)論數(shù)量 - 創(chuàng)建時(shí)間 - 更新時(shí)間

PS:ChatGPT 可能會(huì)使用 JS 函數(shù)生成,直接停止,并要求?不要使用 JS 函數(shù),直接生成靜態(tài) JSON 數(shù)據(jù)格式

考慮到分頁(yè),返回的?data?應(yīng)該改為?{ list: [], total: 100 }

最后,分頁(yè)后 id 也不能重復(fù),所以使用 MockJS 來(lái)隨機(jī)生成 id?,使用?Random.id()

渲染博客列表

需要考慮的條件:

  • 分類 category
  • 搜索 keyword
  • 分頁(yè) page pageSize

第一,需要改造一下 blogApi.js 中的?getBlogList?,增加參數(shù)

第二,在首頁(yè) HomeView.vue 中請(qǐng)求數(shù)據(jù)。使用 Copilot 生成代碼。

第三,渲染博客列表,使用 Copilot 生成代碼?<!-- 遍歷顯示 blogList 的內(nèi)容,每個(gè) item 使用 div -->

博客卡片組件

ChatGPT 提問

用 vue3 和 ElementPlus 寫一個(gè)博客卡片組件(BlogCard.vue),用于在博客列表中顯示單個(gè)博客信息 該組件接受一個(gè)屬性 blog ,是一個(gè) js 對(duì)象 該組件的 UI 分為上中下三層結(jié)構(gòu): - 上層顯示:博客作者(blog.author)并在前面加 icon ,分類(blog.category),時(shí)間(blog.updatedAt) - 中層顯示:博客標(biāo)題(blog.title),博客簡(jiǎn)介(blog.summary),且點(diǎn)擊標(biāo)題跳轉(zhuǎn)到 `/blog/:id` - 下層顯示:點(diǎn)贊數(shù)量(blog.likes),收藏?cái)?shù)量(blog.favorites)、評(píng)論數(shù)量(blog.comments)。每個(gè)使用合適的 icon 來(lái)表示 還要求: - 當(dāng)鼠標(biāo) hover 卡片,設(shè)置淺灰色背景 - 點(diǎn)擊卡片跳轉(zhuǎn)到 `/blog/:id` - CSS 樣式要美觀,可參考當(dāng)前博客網(wǎng)站的樣式 - 使用 vue3 setup script 語(yǔ)法

新建組件?components/BlogCard.vue?并粘貼相應(yīng)代碼

樣式有點(diǎn)問題,繼續(xù)調(diào)整一下:

你給出的代碼非常好。不過(guò)有幾個(gè)樣式的地方需要優(yōu)化: 1. 內(nèi)容和邊框的間距太大了,再小一些 2. 上層顯示的三個(gè)信息,全部靠左顯示,中間要有間隙。 3. 上層顯示的三個(gè)信息,“時(shí)間”和“分類”使用灰色

代碼進(jìn)行如下調(diào)整

  • 卡片之間增加間隙,在 HomeView.vue 中增加?margin-bottom
  • 修改 icon 未顯示的問題(代碼生成的是老舊寫法)

處理時(shí)間格式,新建?utils/date.js?,然后用 Copilot 快速生成

分頁(yè)

ChatGPT 提問

使用 vue3 和 ElementPlus 寫一個(gè)分頁(yè)組件,水平居中顯示 可用的變量有 total page pageSize 使用 vue3 setup script

然后用 Copilot 快速生成?handleCurrentChange?函數(shù)代碼

博客詳情頁(yè)

梳理需求

  • 展示博客信息
  • 點(diǎn)贊、收藏
  • 評(píng)論 (單獨(dú)講)

mock

獲取博客詳情接口?/api/blogs/${id}

用 ChatGPT 生成博客內(nèi)容

用 JSON 格式寫一個(gè)真實(shí)的編程技術(shù)博客,博客包括: - id - 標(biāo)題 - 內(nèi)容,要求:使用 markdown 格式,包含標(biāo)題、文本、列表、代碼塊,1000 字左右 - 作者 - 分類(隨機(jī)選擇:前端, java, python, 小程序)要和標(biāo)題、簡(jiǎn)介對(duì)應(yīng)好 - 點(diǎn)贊數(shù)量 - 是否點(diǎn)贊 - 收藏?cái)?shù)量 - 是否收藏 - 評(píng)論數(shù)量 - 創(chuàng)建時(shí)間

然后借助 Copilot 在 mock-server 中完善接口

其他接口:

  • 點(diǎn)贊
  • 取消點(diǎn)贊
  • 收藏
  • 取消收藏

展示博客內(nèi)容

根據(jù) id 獲取博客數(shù)據(jù)?——?使用 Copilot 可快速完成

使用?useTitle?修改博客標(biāo)題

顯示博客信息:標(biāo)題,作者,時(shí)間,內(nèi)容

  • 使用 Copilot 生成?<!-- 顯示 title author createdAt content ,中間留 margin -->
  • 優(yōu)化 css 樣式
  • 修改時(shí)間格式

轉(zhuǎn)換 markdown

使用 ChatGPT 提問

用 js 把 markdown 格式轉(zhuǎn)換為 html 格式?有沒有第三方庫(kù)可以使用?

  • 選擇?markdown-it
  • 并需要傳入字符串格式?toRaw(blogInfo.content)
  • 優(yōu)化代碼塊樣式,使用 Copilot?/* 優(yōu)化 pre code 樣式 */

點(diǎn)贊和收藏

使用 Copilot 生成模板?<!-- 生成一個(gè) div ,用于點(diǎn)贊和收藏,水平居中顯示 -->

優(yōu)化代碼

  • icon
  • 顯示數(shù)量

根據(jù)?isLiked?和?isFavorited?判斷,顯示按鈕 active 狀態(tài)。手寫即可

添加點(diǎn)擊事件,執(zhí)行 點(diǎn)贊/取消點(diǎn)贊,收藏/取消收藏。可使用 Copilot 生成代碼

  • // 點(diǎn)贊或取消點(diǎn)贊
  • // 收藏或取消收藏

評(píng)論

梳理需求

  • 評(píng)論列表展示
  • 刪除自己的評(píng)論
  • 發(fā)表評(píng)論

mock

評(píng)論列表接口 (不考慮分頁(yè))

ChatGPT 提問:

使用 JSON 格式,生成一個(gè)編程技術(shù)博客的評(píng)論列表,一共 5 條。評(píng)論內(nèi)容要真實(shí)。 每條評(píng)論包含: - id - 評(píng)論內(nèi)容 - 創(chuàng)建時(shí)間 - 作者用戶名 - 作者昵稱

然后配合 Copilot 編寫 mock 代碼

其他接口

使用 Copilot 生成

  • 刪除評(píng)論
  • 發(fā)表評(píng)論

評(píng)論列表

新建一個(gè)?views/subviews/CommentView.vue?,并引入到?views/BlogDetailView.vue

獲取博客列表數(shù)據(jù),直接使用 Copilot 生成

顯示評(píng)論列表,直接用 Copilot 生成?<!-- 評(píng)論列表 -->
CSS 也可自動(dòng)生成,且樣式很好看

最后,再加用戶名前面加一個(gè) icon

刪除自己的評(píng)論

前提:該一下 mock 數(shù)據(jù),讓一條數(shù)據(jù)是自己的

獲取當(dāng)年用戶名:從 pinia store 中引入

刪除評(píng)論?——?直接使用 Copilot 生成

  • 顯示按鈕(和樣式)<!-- 如果 comment.username 等于 userInfo.username ,則顯示一個(gè)“刪除”按鈕,點(diǎn)擊執(zhí)行刪除 -->?CSS 也可以生成
  • 刪除的方法?// 刪除一條評(píng)論

發(fā)表評(píng)論

使用 Copilot 生成

  • UI?<!-- 發(fā)表評(píng)論。左右結(jié)構(gòu),一個(gè)輸入框,一個(gè)按鈕 -->?(以及 CSS)
  • 方法?// 發(fā)表評(píng)論

我的博客列表

需求分析

  • 我的博客列表
  • 刪除一條博客
  • 修改一條博客
  • 創(chuàng)建博客(后面講)

通用功能

  • 修改標(biāo)題
  • 未登錄,跳轉(zhuǎn)到登錄頁(yè)(參考登錄頁(yè)) —— 可使用 Copilot

PS:在此生成“創(chuàng)建博客”按鈕

mock

mock 增加:刪除博客。使用 Copilot

在?blogApi.js?獲取博客列表,加一個(gè) opt?my?默認(rèn)?false
參數(shù)傳給服務(wù)端,讓服務(wù)端處理

博客列表

獲取博客列表數(shù)據(jù),使用 Copilot 生成,參考代碼的注釋
【注意】加上?my: true?表示“我的博客”

顯示列表和操作

  • Copilot 生成模板?<!--用 table 顯示博客列表,包括 title category likes favorites comments createdAt,再加兩個(gè)操作按鈕“編輯” “刪除”-->
  • Copilot 生成編輯代碼?// 跳轉(zhuǎn)到編輯頁(yè)
  • Copilot 生成刪除代碼?// 刪除博客

分頁(yè)

分頁(yè):可以把“首頁(yè)”分頁(yè),單獨(dú)抽離一個(gè)組件

需要改動(dòng)

  • 接受兩個(gè)屬性 pageSize total
  • 去掉?path: '/'?,不要只考慮首頁(yè)

創(chuàng)建按鈕

使用 Copilot 生成代碼,在 table 上面寫?<!-- 左右結(jié)構(gòu),左側(cè)標(biāo)題“我的博客”,右側(cè)“創(chuàng)建”按鈕 -->

創(chuàng)建編輯博客

需求梳理

  • 編輯博客內(nèi)容
  • 新建博客

mock

使用 Copilot 生成

  • 創(chuàng)建博客 post
  • 更新博客 put

前提

如果用戶未登錄,則跳轉(zhuǎn)到登錄頁(yè)。參考“我的博客”頁(yè)?——?可抽離單獨(dú)的 Hook?useNavToLogin.js

判斷 創(chuàng)建/更新

使用 Coplit 根據(jù)注釋生成

第一,// 獲取 url params id

第二,根據(jù) id 獲取博客數(shù)據(jù)。先引入 api?,再寫?// onMounted 根據(jù) id 獲取博客詳情頁(yè),id 為空則不獲取

第三,修改標(biāo)題。先引入 hook?,再寫?// 定義標(biāo)題,有 id 則為編輯,否則為創(chuàng)建?和?// 設(shè)置網(wǎng)頁(yè)標(biāo)題

渲染 UI

第一,標(biāo)題欄(和“提交”按鈕),ChatGPT 生成

使用 vue3 和 ElementPlus 寫一個(gè) div ,左右結(jié)構(gòu) 左側(cè)是 `title` ,右側(cè)是“提交”按鈕,點(diǎn)擊執(zhí)行一個(gè)事件 使用 vue3 setup script 語(yǔ)法

第二,博客標(biāo)題和類型,ChatGPT 生成

使用 vue3 和 ElementPlus 寫一個(gè) div ,左右結(jié)構(gòu) 左側(cè):一個(gè)文字“標(biāo)題”,一個(gè) input ,v-model 對(duì)應(yīng) `blogDetails.title` 右側(cè):一個(gè)文字“類型”(可選:前端、Java、Python、小程序),v-model 對(duì)應(yīng) `blogDetails.category` 中間要有間隔 使用 vue3 setup script 語(yǔ)法

第三,內(nèi)容 textarea?,回車使用 Copilot 直接生成

提交數(shù)據(jù)

第一,confirm 確認(rèn)是否提交

  • Copilot 一開始給出的代碼不好
  • 參考“我的博客”,引入?ElMessageBox?以后(并修改為?async?函數(shù)),Copilot 給出的答案就好了

第二,驗(yàn)證 title content category 是否為空?——?使用 Copilot 即可

第三,(先引入 api)然后使用 Copilot 生成代碼?// 如果沒有 id ,則創(chuàng)建博客。沒有 id 則更新博客

項(xiàng)目開發(fā) - 總結(jié)

目標(biāo)回顧

使用 ChatGPT 和 Copilot 快速生成代碼,完成項(xiàng)目開發(fā)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-742072.html

內(nèi)容回顧

  • 路由模板和頂部欄
  • 登錄和注冊(cè),獲取用戶信息
  • 首頁(yè)(博客列表)
  • 博客詳情頁(yè),評(píng)論
  • 我的博客,新建,編輯

注意事項(xiàng)

  • ChatGPT 和 Copolit 配合使用,用于不同場(chǎng)景
  • 注意 AI 工具的提問技巧,能更高效、準(zhǔn)確的生成代碼
  • AI 工具生成的代碼可能還需要自己驗(yàn)證和調(diào)試

到了這里,關(guān)于ChatGPT和Copilot協(xié)助Vue火速搭建博客網(wǎng)站的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 10分鐘搭建一個(gè)免費(fèi)個(gè)人博客網(wǎng)站

    10分鐘搭建一個(gè)免費(fèi)個(gè)人博客網(wǎng)站

    準(zhǔn)備工作 有Gitee賬號(hào) 有安裝git 會(huì) markdown 編寫文檔 Node.js 版本 = 8.6 博客采用VuePress搭建,Gitee部署,接下來(lái),5步搞定。 1.創(chuàng)建項(xiàng)目 創(chuàng)建項(xiàng)目目錄,并初始化項(xiàng)目,安裝VuePress 2. 創(chuàng)建目錄結(jié)構(gòu) 3.完成基礎(chǔ)配置 配置主題,定義自己的導(dǎo)航欄 配置首頁(yè) 在 myblog/package.json 中添加一些

    2024年02月09日
    瀏覽(96)
  • 【網(wǎng)站搭建】3 更換博客主題—butterfly

    【網(wǎng)站搭建】3 更換博客主題—butterfly

    可以到官網(wǎng)選擇想要更換的主題Themes | Hexo 我選用的是butterfly zhangzeli/hexo-theme-butterfly: A Hexo Theme: Butterfly (github.com) ?在Hexo根目錄打開終端執(zhí)行拉去操作 下載配套文件 ?打開_config.yml文件,更改 ? 重新啟動(dòng)本地服務(wù)器即可 ?

    2024年02月16日
    瀏覽(18)
  • Hexo+GithubPages免費(fèi)搭建個(gè)人博客網(wǎng)站

    Hexo+GithubPages免費(fèi)搭建個(gè)人博客網(wǎng)站

    一、前言 二、Github配置 新建同名倉(cāng)庫(kù) 配置Pages 三、安裝Hexo 四、配置hexo-deployer-git 五、訪問 六、發(fā)布文章 七、安裝主題 我之前開了好幾年的云服務(wù)器了,實(shí)際上使用場(chǎng)景并不是很多,感覺有點(diǎn)浪費(fèi)。前兩個(gè)月都給關(guān)掉了,現(xiàn)在呢琢磨著弄一個(gè)免費(fèi)的云服務(wù)搭建個(gè)人博客。

    2024年02月13日
    瀏覽(38)
  • Astro + Vercel 快速搭建自己的博客網(wǎng)站

    Astro + Vercel 快速搭建自己的博客網(wǎng)站

    Astro 和 Vercel 彼此相得益彰,前者提供出色的開發(fā)者體驗(yàn),用于構(gòu)建現(xiàn)代靜態(tài)站點(diǎn),而后者負(fù)責(zé)部署和托管代碼。 兩者結(jié)合我們就可以輕輕松松 零成本 搭建自己的博客網(wǎng)站。查看示例。 如果對(duì)原項(xiàng)目感興趣,可以查看源碼。 在部署博客之前,我們先創(chuàng)建一個(gè)用于評(píng)論的 g

    2024年02月14日
    瀏覽(20)
  • 手機(jī)也可以搭建個(gè)人博客?安卓Termux+Hexo搭建屬于你自己的博客網(wǎng)站【cpolar實(shí)現(xiàn)公網(wǎng)訪問】

    手機(jī)也可以搭建個(gè)人博客?安卓Termux+Hexo搭建屬于你自己的博客網(wǎng)站【cpolar實(shí)現(xiàn)公網(wǎng)訪問】

    Hexo 是一個(gè)用 Nodejs 編寫的快速、簡(jiǎn)潔且高效的博客框架。Hexo 使用 Markdown 解析文章,在幾秒內(nèi),即可利用靚麗的主題生成靜態(tài)網(wǎng)頁(yè)。 下面介紹在Termux中安裝個(gè)人hexo博客并結(jié)合cpolar工具實(shí)現(xiàn)遠(yuǎn)程訪問。 Hexo 是用 Nodejs 編寫的,所以安裝的話先安裝node.js,termux 也是封裝了,一行命

    2024年02月09日
    瀏覽(40)
  • 使用寶塔面板搭建個(gè)人網(wǎng)站(博客)超詳細(xì)2023

    使用寶塔面板搭建個(gè)人網(wǎng)站(博客)超詳細(xì)2023

    提示:這里可以添加本文要記錄的大概內(nèi)容: 一直有一個(gè)執(zhí)念想搭一個(gè)自己的網(wǎng)站,今天才付出行動(dòng),分享給同樣想法的鼠鼠 個(gè)人網(wǎng)站地址:https://ooooooooooooooooooooooo.ooo/ooooοооoο?οoο?οoο?ooo?ооoо??oо??o?οοo?oooо?оo?оοo?o?oо?оo?oоo?ooo?οοoо?оo?

    2024年02月14日
    瀏覽(30)
  • 手機(jī)安卓Termux搭建Hexo博客網(wǎng)站,發(fā)布公網(wǎng)訪問

    手機(jī)安卓Termux搭建Hexo博客網(wǎng)站,發(fā)布公網(wǎng)訪問

    轉(zhuǎn)載自cpolar極點(diǎn)云的文章:安卓手機(jī)使用Termux搭建Hexo個(gè)人博客網(wǎng)站【內(nèi)網(wǎng)穿透公網(wǎng)訪問】 Hexo 是一個(gè)用 Nodejs 編寫的快速、簡(jiǎn)潔且高效的博客框架。Hexo 使用 Markdown 解析文章,在幾秒內(nèi),即可利用靚麗的主題生成靜態(tài)網(wǎng)頁(yè)。 下面介紹在Termux中安裝個(gè)人hexo博客并結(jié)合cpolar工具

    2024年02月07日
    瀏覽(25)
  • 玩轉(zhuǎn)服務(wù)器之網(wǎng)站篇:新手使用WordPress搭建博客和靜態(tài)網(wǎng)站部署

    玩轉(zhuǎn)服務(wù)器之網(wǎng)站篇:新手使用WordPress搭建博客和靜態(tài)網(wǎng)站部署

    靜態(tài)網(wǎng)站部署和WordPress搭建博客都是網(wǎng)站運(yùn)營(yíng)中常見的工作。靜態(tài)網(wǎng)站是一種不需要服務(wù)器端腳本的網(wǎng)站形式,通常使用HTML、CSS和JavaScript等靜態(tài)資源進(jìn)行構(gòu)建和顯示。而WordPress是一款流行的博客系統(tǒng),可以幫助用戶快速搭建博客網(wǎng)站。 在之前的玩轉(zhuǎn)服務(wù)器系列文章里,我們

    2024年02月07日
    瀏覽(30)
  • 在樹莓派上搭建WordPress博客網(wǎng)站【內(nèi)網(wǎng)穿透】

    在樹莓派上搭建WordPress博客網(wǎng)站【內(nèi)網(wǎng)穿透】

    轉(zhuǎn)載自cpolar極點(diǎn)云的文章:在樹莓派上搭建WordPress博客網(wǎng)站,并內(nèi)網(wǎng)穿透發(fā)布到公網(wǎng) 在本次教程里,我們將在樹莓派上搭建一個(gè)Wordpress博客站點(diǎn),開始博客時(shí)代,記錄生活點(diǎn)滴。同時(shí)做內(nèi)網(wǎng)穿透將博客發(fā)布上線,讓互聯(lián)網(wǎng)用戶都可以訪問到,無(wú)需公網(wǎng)ip,也無(wú)需購(gòu)買云服務(wù)器

    2024年02月03日
    瀏覽(27)
  • 騰訊云服務(wù)器鏡像市場(chǎng)快速搭建WordPress博客網(wǎng)站教程

    騰訊云服務(wù)器鏡像市場(chǎng)快速搭建WordPress博客網(wǎng)站教程

    通過(guò)騰訊云服務(wù)器的鏡像市場(chǎng)搭建WordPress網(wǎng)站非常簡(jiǎn)單,不需要手動(dòng)配置WP所需的Web環(huán)境,一鍵即可安裝WordPress博客,騰訊云百科使用騰訊云服務(wù)器通過(guò)鏡像市場(chǎng)的WordPress鏡像搭建WP網(wǎng)站教程: 目錄 騰訊云服務(wù)器通過(guò)市場(chǎng)鏡像安裝WordPress教程 騰訊云服務(wù)器安裝WordPress的方法有

    2024年02月13日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包