vue腳手架與前后端交互

前言

。Vue.js作為一種流行的前端框架,提供了豐富的功能和靈活的架構,方便了開發者進行高效的開發。為了更好地使用Vue,Vue CLI(腳手架工具)成為了開發者進行項目創建和管理的重要工具。本文將結合Vue腳手架的使用場景和前后端交互的實現步驟,帶你深入了解如何通過Vue CLI構建一個簡單的前端項目并與后端進行數據交互。

使用場景

  1. 快速開發:使用腳手架創建項目可以快速生成項目結構,以及基本的配置文件。
  2. 組件化開發:Vue的組件化特性使得開發模塊化程度高、復用性強的應用成為可能。
  3. 易于管理:Vue CLI提供了插件和工具鏈,可以輕松地管理項目的依賴和構建過程。

步驟

1.安裝 vue cli

安裝Node.js和npm。接下來,你可以通過以下命令安裝Vue CLI:

npm install -g @vue/cli

2.創建新項目

使用Vue CLI創建一個新的Vue項目,執行以下命令:

vue create my-vue-app

在命令行中,你可以選擇默認配置或者自定義配置,也可以選擇想要的功能(如路由、Vuex等)。

3.啟動服務器

進入項目目錄并啟動開發服務器:

cd my-vue-app
npm run serve

在瀏覽器中訪問http://localhost:8080,你將看到Vue的歡迎頁面。

4.創建測試頁面

接下來,我們可以創建一個簡單的頁面并向后端發送請求。首先,在src/components目錄下創建一個新的組件HelloWorld.vue,并填入以下代碼:

<template><div><h1>你好</h1><button @click="fetchData">按鈕</button><div v-if="data"><h2>Data from Backend:</h2><pre>{{ data }}</pre></div></div>
</template><script>
import axios from 'axios';export default {data() {return {data: null};},methods: {fetchData() {axios.get('http://localhost:3000/api/data').then(response => {this.data = response.data;}).catch(error => {console.error('錯誤信息', error);});}}
};
</script>

5.后端API實現

為了與前端交互,我們需要一個簡單的后端服務。這里使用Node.js和Express來搭建一個后端服務。在項目根目錄下,創建一個新的文件夾backend,然后在backend目錄中初始化一個新的Node.js項目:

// backend/server.js
const express = require('express');
const cors = require('cors');
const app = express();
const port = 3000;app.use(cors());// 示例API
app.get('/api/data', (req, res) => {res.json({ message: '你好' });
});app.listen(port, () => {console.log(`Server running at http://localhost:${port}`);
});

6.前后端交互

確保前后端服務均已啟動。你可以回到瀏覽器,在Vue應用中點擊按鈕,你應該能看到從后端獲取的數據。

結尾語

Vue CLI的使用極大地簡化了前端開發的過程,而結合后端服務的搭建,則讓我們的應用功能更加豐富。通過以上步驟,我們成功實現了一個簡單的前后端交互示例。在實際開發中,可以根據需求構建更復雜的功能,并與后端進行高效的數據交互。希望這篇文章對你理解Vue腳手架和前后端交互有所幫助!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/88298.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/88298.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/88298.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【麻省理工】《how to speaking》筆記

【【麻省理工】《如何說話》一節課教你成為表達的王者】 開始 在演講最開始的時候&#xff0c;你要告訴觀眾&#xff0c;在接下來的15分鐘或一個小時之內&#xff0c;他們將會學到什么東西。這會讓觀眾集中注意力去傾聽。 PPT 你的幻燈片上的字要越少越好。因為聽眾的大腦一…

ESP32-HTML-08

一、html顯示圖片 1.工程包含Html需要顯示的圖片 2、CMakeLists.txt包含圖片資源 舉例&#xff1a; idf_component_register(SRCS main.cEMBED_FILES root.html favicon.ico) 3.html中圖片的標簽 <img src"motus.ico"> 4.后臺代碼的添加 static esp_e…

前端后端文件下載防抖實現方案

在 Vue 3 中實現下載文件防抖&#xff0c;可以通過封裝一個防抖函數來控制下載請求的觸發頻率。以下是完整的實現方案&#xff1a; 1. 封裝防抖工具函數 javascript 復制 下載 // utils/debounce.js export function debounce(func, delay) {let timer null;return funct…

【Linux網絡與網絡編程】15.DNS與ICMP協議

1. DNS 1.1 DNS介紹 TCP/IP 中使用 IP 地址和端口號來確定網絡上的一臺主機的一個程序&#xff0c;但是 IP 地址不方便記憶&#xff0c;于是人們發明了一種叫主機名的字符串&#xff0c;并使用 hosts 文件來描述主機名和 IP 地址的關系。最初, 通過互連網信息中心(SRI-NIC)來…

Python打卡:Day35

復習日 浙大疏錦行

GoAdmin代碼生成器實踐

文章目錄 前言創建SQL表格使用在線生成工具應用自動生成的代碼數據變更時附加新的邏輯總結 前言 開源項目 go-admin&#xff0c;我一直用的是這個地址 https://github.com/GoAdminGroup/go-admin&#xff0c;不過最近發現了一個 Gin Vue 版本的 go-admin&#xff0c;對我解決…

web布局13

在 CSS 中有很多種類型的函數&#xff0c;其中可用于尺寸屬性的函數主要有 calc() 、min() 、max() 、clamp() 等。這些 CSS 函數都可用來設置網格軌道尺寸&#xff0c;除此之外&#xff0c;還有一些專門用于設置網格軌道的函數&#xff0c;比如 repeat() 、minmax() 和 fit-co…

pdf轉圖片(png,jpg)的python腳本

pdf轉圖片&#xff08;png&#xff0c;jpg&#xff09;的python腳本 PDF轉圖片工具 1.安裝庫 pip install pymupdf 2.如果需要pdf轉jpg的更改DEFAULT_FORMAT即可 3.一定注意要將腳本與待轉化的.pdf文件放在同一個目錄 4.運行腳本&#xff0c;將腳本所在目錄所有.pdf文件轉…

大模型本地部署,擁有屬于自己的ChatGpt

ChatGpt 以其強大的信息整合和對話能力驚艷了全球,在自然語言處理上面表現出了驚人的能力。不管用于文案撰寫還是程序輔助開發都大大提高了我們的工作效率,但是其使用有一定的門檻,讓我們大多數人都望而卻步,今天我們利用ollama實現本地大模型的步驟,讓我們輕松擁有自己的…

【mcu】-老舊小區門禁電話改造指南

老舊小區門禁電話改造指南(四線制DIY方案) 一、明確四根線的功能(關鍵第一步) 通常四線制門禁電話的線纜定義如下(需用萬用表驗證): 線色 常見功能 電壓/信號類型 檢測方法 紅線 電源正極(+12V) DC 12V(待機) 萬用表直流檔測對黑線電壓 黑線 電源負極(GND) 0V 與…

word中如何快速打出上標?

在 Microsoft Word 中快速輸入上標的方法有以下幾種&#xff0c;推薦掌握 鍵盤快捷鍵法&#xff08;最常用高效&#xff09;&#xff1a; ? 方法一&#xff1a;快捷鍵法&#xff08;強烈推薦&#xff0c;效率最高&#xff01;&#xff09; 輸入需要上標的文字/數字&#xff0…

如何優化HarmonyOS 5的分布式通信性能?

以下是針對HarmonyOS 5分布式通信性能優化的系統性方案&#xff0c;結合核心技術特性與實踐經驗&#xff1a; 一、傳輸層優化 數據壓縮與批處理 // 啟用ZLIB壓縮&#xff08;>1KB自動壓縮&#xff09; DistributedConfig config new DistributedConfig.Builder().setCom…

Matplotlib圖像處理三劍客:imshow(), imread(), imsave()

Matplotlib是Python中最著名的數據可視化庫之一&#xff0c;它不僅能夠繪制各種統計圖表&#xff0c;還提供了強大的圖像處理功能。本文將重點介紹Matplotlib中三個核心的圖像處理方法&#xff1a;imshow()、imread()和imsave()&#xff0c;通過示例代碼展示它們的使用方法。 …

[特殊字符]防止 MyBatis-Plus 中模糊查詢 `%` 查出全表:實現通配符轉義攔截器

目錄標題 ?為什么需要轉義 % 和 _&#x1f9ea; 使用案例&#xff1a;防止傳入 % 導致全表查詢&#x1f3af; 支持哪些場景&#xff1f;? 攔截器實現思路&#x1f9e9; 核心攔截器代碼實現&#x1f510; 可選忽略某些 SQL 的轉義 ?為什么需要轉義 % 和 _ 在使用 MyBatis-Pl…

linux grep的一些坑

grep -a "commit" a.log 可以獲取到所有的數據&#xff08;可以看到a.log所有的commit關鍵詞&#xff09; 但cat a.log|grep "commit" 無法全部獲取到&#xff08;只能看到a.log中部分的的commit&#xff09; 細分析和可能原因&#xff1a; 1. 二進制文件…

牛客 AI 面試 Ultra 版升級:開啟招聘新紀元

每到招聘季&#xff0c;HR 們便陷入繁忙與焦慮。海量簡歷篩選耗費大量人力&#xff0c;初步面試耗費數周時間&#xff0c;好不容易安排好面試官與候選人時間&#xff0c;又可能因各種意外狀況打亂節奏。而牛客 AI 面試 Ultra 版恰似一束光&#xff0c;照亮了招聘流程優化的道路…

OSS與NAS混合云存儲架構:非結構化數據統一管理實戰

AI訓練集管理面臨的核心挑戰&#xff1a;數據規模爆炸式增長與訪問模式多樣化的矛盾。ImageNet等典型數據集已達150TB規模&#xff0c;傳統單一存儲方案面臨三重困境&#xff1a; NAS在PB級場景下硬件成本呈指數增長OSS對象存儲無法滿足高頻隨機訪問需求跨存儲數據訪問導致訓練…

72、單元測試-常用測試注解

72、單元測試-常用測試注解 在單元測試中&#xff0c;常用的測試注解可以幫助組織和管理測試代碼&#xff0c;提高測試的可讀性和可維護性。以下是JUnit和TestNG框架中一些常用的測試注解及其功能&#xff1a; #### JUnit注解 1. **Test** - 標記一個方法為測試方法。 - 可以設…

強化學習在大型語言模型訓練中的最新進展:開源項目深度分析報告

強化學習在大型語言模型訓練中的最新進展&#xff1a;開源項目深度分析報告 引言 近年來&#xff0c;人工智能領域見證了大型語言模型(LLM)的迅速崛起&#xff0c;而強化學習作為機器學習的重要分支&#xff0c;在提升LLM推理能力方面展現出巨大潛力。隨著OpenAI發布o1等推理…

微服務:服務治理

簡單描述這個過程&#xff1a; 生產者與消費者之間的供需關系僅憑這兩者很難有效維持&#xff0c;比如某個消費者掛掉了&#xff0c;而生產者并不知道&#xff0c;就會依然給掛掉的消費者提供內容&#xff0c;那么此時的內容明顯就是未獲取到的&#xff0c;從而出現輸出問題。…