研發效能DevOps: Vite 使用 Element Plus

目錄

一、實驗

1.環境

2.初始化前端項目

3.安裝 vue-route

4.安裝 pinia

5.安裝 axios

6.安裝 Element Plus

7.gitee創建工程

8. 配置路由映射

9.Vite 使用 Element Plus

二、問題

1.README.md 文檔推送到gitee未自動換行

2.訪問login頁面顯示空白

3.表單輸入賬戶與密碼,按鈕依然為禁用狀態


一、實驗

1.環境

(1)主機

表1 主機

系統

軟件版本備注
Windows11VS Code1.96.2
Node.jsv18.20.4(LTS)

運行(輸入cmd)

bb3a3a38004c40f2bbe67919cce22e05.png

查看VS Code版本

Code --version

查看node版本

node -v

87de6fb85c2d465592c1d9bf92f6903d.png

查看npm版本

npm -v

e2bc65daa7634b05ab83d20f2e7f53ca.png

2.初始化前端項目

(1)安裝vite

cnpm create vite@latest

輸入y,然后選擇vue

接下來選擇JavaScript

(2)安裝依賴

切換目錄

cd vite-axios

這里切換cnpm安裝依賴

cnpm install

(3) 運行

npm run dev

彈出界面:

可以訪問到Vite + Vue

http://localhost:5173/

(4)退出

CTRL + C 結束

0f487b1ab5c24e3d91e69c4272ca89e8.png

輸入Y

f23cf1681ec44fa68e7c1bdc1515faf3.png

3.安裝 vue-route

(1) 查閱

https://router.vuejs.org/zh/installation.html

(2) 安裝vue-router

使用cnpm安裝

cnpm install vue-router@4

(3) main.js集成路由

導入router

import router from './router'

注冊路由

const app = createApp(App)
app.use(router)
app.mount('#app')

修改前:

修改后:

(4)創建路由配置目錄router

(5) router下創建index.js (實現組件與路由映射)

(6)修改index.js

導入創建路由的方法

import { createWebHistory, createRouter } from 'vue-router'

定義路由映射

const listRoutes = {}const routes = [listRoutes,
]

創建路由實例

const router = createRouter({history: createWebHistory(),routes,
})

導出默認路由

export default router?

?(7) 運行

npm run dev

彈出界面:

可以訪問到Vite + Vue

http://localhost:5173/

(8)退出

CTRL + C 結束

0f487b1ab5c24e3d91e69c4272ca89e8.png

輸入Y

f23cf1681ec44fa68e7c1bdc1515faf3.png

4.安裝 pinia

(1) 查閱

https://pinia.vuejs.org/zh/getting-started.html

?(2) 安裝pinia

使用cnpm安裝

cnpm install pinia

(3)?main.js集成pinia

導入創建pinia的方法

import { createPinia } from 'pinia'

注冊pinia

const pinia = createPinia()
app.use(router).use(pinia)
app.mount('#app')

修改前:

修改后:

(5)創建全局狀態(容器)目錄store

(6)store下創建index.js

(7)修改index.js

導入定義Store

import { defineStore } from 'pinia'

state?是 store 的數據 (data),getters?是 store 的計算屬性 (computed),而?actions?則是方法 (methods)

export const useStoreDemo = defineStore('storeDemo', {state: () => {return {msg: "This is Pinia"}   },getters: {},actions: {changeStoreDemo(value) {this.msg = value}}
})

5.安裝 axios

(1) 查閱

https://www.axios-http.cn/docs/intro

(2)安裝axios

使用cnpm安裝

cnpm install axios

(3)?創建封裝目錄api

(4)api下創建index.js

(5)修改 index.js

import axios from 'axios'
const request = (url = '', data = {}, method = "get", timeout = 5000) => {return new Promise((resolve, reject)=>{const methodLower = method.toLowerCase() if (methodLower === 'get') {axios({method: methodLower,params: data,timeout: timeout,url: url,}).then((response)=>{resolve(response)}).catch((error)=>{reject(error)})} else if (methodLower === "post") {axios({method: methodLower,data: data,timeout: timeout,url: url,}).then((response)=>{resolve(response)}).catch((error)=>{reject(error)})}})
}export default request

6.安裝 Element Plus

(1) 查閱

https://element-plus.org/zh-CN/guide/installation.html

(2)安裝Element Plus

使用cnpm安裝

(--save 參數 在裝的時候會把包的信息寫入package.json?)

cnpm install element-plus --save

(3) 查看package.json?

(4)查閱

https://element-plus.org/zh-CN/guide/quickstart.html

(5)main.js集成Element Plus

……
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
……
app.use(router).use(pinia).use(ElementPlus)

修改前:

修改后:

??(6) 運行

npm run dev

彈出界面:

可以訪問到Vite + Vue

http://localhost:5173/

F12 查看控制臺 (目前暫未配置路由)

(7)退出

CTRL + C 結束

0f487b1ab5c24e3d91e69c4272ca89e8.png

輸入Y

f23cf1681ec44fa68e7c1bdc1515faf3.png

7.gitee創建工程

(1)新建倉庫

https://gitee.com/

(2)創建

(3)創建 git 倉庫

git init

git add .

git add -A

git commit -m "項目初始化配置"

XXXXXXXX/vite-scaffold為創建的gitee倉庫

git remote add origin?git@gitee.com:XXXXXXXX/vite-scaffold.git

git push -u origin "master"

(4) gitee查看

(5)修改README.md

# scaffold項目初始化配置cnpm create vite@latest
cnpm install
cnpm install vue-router@4
cnpm install pinia
cnpm install axios
cnpm install element-plus --save

(6)git查看狀態

git status

(7) 提交并推送

git commit -am "修改文檔"

git push -u origin "master"

(8)gitee查看

8. 配置路由映射

(1)創建頁面組件目錄view

(2)view下創建多個組件

Login.vue

然后把compoents下的HelloWorld.vue 內容,復制到Login.vue

(3)修改router下的index.js

通過懶加載形式把Login.vue導入

const Login = () => import('../view/Login.vue')

添加路由映射關系

……
const routes = [listRoutes,{path: "/login",component: Login,}
]
^

(4)路由輸出到App.vue

修改App.vue

……
<router-view></router-view>
……

???(5) 運行

npm run dev

彈出界面:

可以訪問到Vite + Vue

http://localhost:5173/login

(6)退出

CTRL + C 結束

0f487b1ab5c24e3d91e69c4272ca89e8.png

輸入Y

f23cf1681ec44fa68e7c1bdc1515faf3.png

9.Vite 使用 Element Plus

(1)查閱

https://element-plus.org/zh-CN/component/card.html

(2)修改Login.vue

添加卡片

<template><el-card class="box-card"><p v-for="o in 4" :key="o" class="text item">{{ 'List item ' + o }}</p></el-card>
</template>

樣式

<style scoped>.text {font-size: 14px;} .item {padding: 18px 0;}.box-card {width: 480px;}
</style>

(3)?訪問到Vite + Vue

http://localhost:5173/login

(4)git查看狀態

git status

(5) 提交

git add -Agit commit -am "首頁路由配置"

(6)添加標題元素

修改Login.vue

……
<h2>DevOps系統</h2>
……

(7) 訪問到Vite + Vue

http://localhost:5173/login

(8)查閱表單

https://element-plus.org/zh-CN/component/card.html

(9)添加表單

修改Login.vue

<el-form:model="loginInfo"status-icon:rules="rules"><el-form-item prop="username"><el-input v-model.number="loginInfo.username" /></el-form-item><el-form-item prop="password"><el-input v-model="loginInfo.password" type="password" autocomplete="off" /></el-form-item><el-form-item><el-button type="primary" @click="submitForm(ruleFormRef)">登錄</el-button></el-form-item></el-form>

(10)訪問到Vite + Vue

http://localhost:5173/login

(11)查閱輸入框與圖標

輸入框

https://element-plus.org/zh-CN/component/input.html

圖標

https://element-plus.org/zh-CN/component/icon.html

(12)安裝圖標

cnpm install @element-plus/icons-vue --save

(13)找到username圖標

https://element-plus.org/zh-CN/component/icon.html

點擊圖標

顯示已復制

獲取到圖標信息:

<el-icon><User /></el-icon>

(14)找到password圖標

?點擊圖標

顯示已復制

獲取到圖標信息:

<el-icon><Lock /></el-icon>

(15) 添加圖標,并將圖標映射到輸入框中

修改Login.vue

……
import { User,Lock } from '@element-plus/icons-vue';
……
:prefix-icon="User"
……
:prefix-icon="Lock"
……

?(16)訪問到Vite + Vue

http://localhost:5173/login

?(17)git提交

git commit -am "輸入框與按鈕配置"

(18)查閱輸入框設置固定寬度

https://element-plus.org/zh-CN/component/input.html

(19)添加clearable 圖標

修改Login.vue

clearable

?(20)訪問到Vite + Vue

http://localhost:5173/login

(21)查閱切換密碼圖標

(22)添加切換密碼圖標

修改Login.vue

show-password

?(23)訪問到Vite + Vue

http://localhost:5173/login

(24)查閱輸入框占位文本

(25)添加輸入框占位文本

修改Login.vue

……
placeholder="請輸入賬戶名"
……
placeholder="請輸入密碼"
……

?(26)訪問到Vite + Vue

http://localhost:5173/login

(27)查閱表單校驗

https://element-plus.org/zh-CN/component/form.html

(28)表單添加校驗

修改Login.vue

import { reactive,ref } from 'vue';
……
const loginRef = ref()
const rules = reactive({username: [{ required: true, message: '請輸入賬戶名', trigger: 'blur' },],password: [{ required: true, message: '請輸入密碼', trigger: 'blur' },],
})
……
ref="loginRef"
:rules="rules"
……

?(29)訪問到Vite + Vue

http://localhost:5173/login

(30)查閱按鈕禁用狀態

https://element-plus.org/zh-CN/component/button.html

(31)登錄按鈕添加禁用狀態

import { watch } from 'vue';
……
let loginButtonDisabled = ref(true)
watch([() => loginInfo.username,() => loginInfo.password],() =>{loginRef.value.validate((valid)=>{if(valid){loginButtonDisabled = false} else {loginButtonDisabled = true}})
})
……
:disbaled="loginButtonDisabled"
……

(32)訪問到Vite + Vue

http://localhost:5173/login

未輸入賬戶或密碼。登錄按鈕為禁用狀態 (淺藍色)

未輸入密碼。登錄按鈕為禁用狀態 (淺藍色)

輸入賬戶與密碼。登錄按鈕為啟用狀態 (深藍色)

(33)git提交

git commit -am "輸入框與按鈕配置"

二、問題

1.README.md 文檔推送到gitee未自動換行

(1)問題

README.md寫好內容時,發現它縮到一起了,不是想要的格式

(2)原因

換行末尾,未打上空格。

(3)方法

? ?直接在要換行的語句最后打上2個空格

git push后,成功換行

2.訪問login頁面顯示空白

(1)問題

訪問login頁面空白

(2)原因

渲染配置錯誤

(3) 方法

修改前

修改后:

成功:

3.表單輸入賬戶與密碼,按鈕依然為禁用狀態

(1)問題

表單輸入賬戶與密碼,按鈕依然為禁用狀態 (淺藍色)

(2)原因分析

watch監聽狀態的值判斷需要配置正確

(3)方法

修改watch監聽里if判斷

修改前:

修改后:

成功:

圖標顯示(深藍色)

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

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

相關文章

5G 模組 RG500Q常用AT命令

5G 模組 RG500Q常用AT命令 5G 模組 RG500Q常用AT命令 at ATQNWPREFCFG\"mode_pref\",nr5g && sleep 1 at ATQNWPREFCFG\"nr5g_band\",79 && sleep 1 at atqnwlock\"commo…

NVIDIA DeepStream插件之Gst-nvtracker

NVIDIA DeepStream插件之Gst-nvtracker 1. 源由2. 基礎知識3. Gst-nvtracker插件3.1 插件參數3.2 插件API接口 4. 分析問題5. 總結6. 參考資料 1. 源由 這篇的主要目的是稍微吐槽下NVIDIA的設計&#xff0c;當然其實他們做的還是不錯的&#xff08;從系統架構設計角度看&#…

進程內存轉儲工具|內存鏡像提取-取證工具

1.內存轉儲&#xff0c;內存轉儲&#xff08;Memory Dump&#xff09;是將計算機的物理內存&#xff08;RAM&#xff09;內容復制到一個文件中的過程&#xff0c;這個文件通常被稱為“內存轉儲文件”或“核心轉儲文件”&#xff08;Core Dump&#xff09;,內存轉儲的主要目的是…

Lua語言入門 - Lua 面向對象

Lua 面向對象 面向對象編程&#xff08;Object Oriented Programming&#xff0c;OOP&#xff09;是一種非常流行的計算機編程架構&#xff0c;通過創建和操作對象來設計應用程序。 以下幾種編程語言都支持面向對象編程&#xff1a; CJavaObjective-CSmalltalkC#Ruby Lua 是…

Pyqt6在lineEdit中輸入文件名稱并創建或刪除JSON文件

1、創建JSON文件 代碼 import osdef addModulekeyWordFile(self):if "" ! self.lineEdit_module.text():moduleFile self.lineEdit_module.text() .jsonelse:self.toolLogPrinting(請輸入模塊名稱)returnfilePath modulekeyWordFileDir moduleFileif os.path.e…

【Leetcode 熱題 100】236. 二叉樹的最近公共祖先

問題背景 給定一個二叉樹, 找到該樹中兩個指定節點的最近公共祖先。 最近公共祖先的定義為&#xff1a;對于有根樹 T T T 的兩個節點 p p p、 q q q&#xff0c;最近公共祖先表示為一個節點 x x x&#xff0c;滿足 x x x 是 p p p、 q q q 的祖先且 x x x 的深度盡可能大…

數據結構--堆的向上調整和向下調整

文章目錄 1.完全二叉樹2.堆向上調整3.堆向下調整4.測試代碼 1.完全二叉樹 下面的這個就是對于我們的完全二叉樹的這個邏輯結構和物理結構的說明&#xff1a; 邏輯結構就是我們自己認為的進行購想出來的&#xff1b; 但是這個物理結構卻是我們的這個數據結構在內存里面的真是…

智能掛號系統設計典范:SSM 結合 Vue 在醫院的應用實現

摘要 隨著信息技術在管理上越來越深入而廣泛的應用&#xff0c;管理信息系統的實施在技術上已逐步成熟。本文介紹了醫院預約掛號系統的開發全過程。通過分析醫院預約掛號系統管理的不足&#xff0c;創建了一個計算機管理醫院預約掛號系統的方案。文章介紹了醫院預約掛號系統的系…

“魔法糖果盒的秘密:用樸素貝葉斯算法猜糖果顏色”

想象一下&#xff0c;你有一個神奇的糖果盒&#xff0c;這個糖果盒里有兩種糖果&#xff1a;紅色的和藍色的。你閉上眼睛&#xff0c;從盒子里拿出一個糖果&#xff0c;然后嘗一嘗&#xff0c;你想知道這個糖果是紅色的還是藍色的。樸素貝葉斯算法就像是一個魔法規則&#xff0…

Transform組件的用法

文章目錄 1. 概念介紹2. 使用方法3. 示例代碼我們在上一章回中介紹了Checkbox Widget相關的內容,本章回中將介紹Transform Widget.閑話休提,讓我們一起Talk Flutter吧。 1. 概念介紹 我們在這里說的Transform是一種容器類widget,它和Container組件類似。它可以包含其它的組件…

go面試問題

1 Go的內存逃逸如何分析 go build -gcflags-m main_pointer.go 2 http狀態碼 300 請求的資源可包括多個位置&#xff0c;相應可返回一個資源特征與地址的列表用于用戶終端&#xff08;例如&#xff1a;瀏覽器&#xff09;選擇 301 永久移動。請求的資源已被永久的移動到新U…

康冠科技嵌入式面試題及參考答案

LCD 驅動你自己做了哪些內容? 在 LCD 驅動開發中,首先是硬件層面的理解。需要仔細研究 LCD 的數據手冊,明確其引腳定義,包括電源引腳、數據引腳、控制引腳等。比如,對于常見的 RGB 接口 LCD,要清楚哪幾個引腳是用于傳輸紅、綠、藍三種顏色的數據,以及像 VSYNC(垂直同步…

TouchGFX移植(5)增加觸屏驅動

一&#xff09;增加驅動代碼gt9xxx.c和ctiic.c到工程中的BSP目錄下: 二&#xff09;更改觸摸文件STM32TouchController.cpp 1&#xff09;在STM32TouchController.cpp文件中增加&#xff1a; #include “gt9xxx.h” 2&#xff09;增加gt9xxx_init(); void STM32TouchControlle…

初識面向對象晨考day09

1.類和對象什么關系 類是對象的抽象 對象是類的具體 2.什么是屬性和方法 一類事物共有的特征&#xff0c;使用屬性描述 一類事物共有的行為&#xff0c;使用方法描述 3.普通方法的定義格式 public 返回值類型 方法名(參數列表){} 4.什么是形參&#xff0c;什么是實參 形參是方法…

資源型數字化平臺該如何順利運營?

一、引言 隨著信息技術的迅猛發展&#xff0c;資源型數字化平臺在各領域的重要性日益凸顯。此類平臺整合各類資源&#xff0c;以數字化手段提升資源利用效率與價值&#xff0c;但確保其順利運營面臨諸多挑戰。 二、資源型數字化平臺特點 資源型數字化平臺具有資源整合性&…

GitLab的安裝和使用

1.GitLab 環境說明 系統版本 CentOS 7.2 x86_64 軟件版本 gitlab-ce-10.8.4 GitLab 是一個用于倉庫管理系統的開源項目&#xff0c;使用Git作為代碼管理工具&#xff0c;并在此基礎上搭建起來的web服務。可通過Web界面進行訪問公開的或者私人項目。它擁有與Github類似的功能…

Leetcode 串聯所有單詞的子串

算法思想&#xff08;中文解釋&#xff09; 這道題目要求我們在字符串 s 中找到所有子串&#xff0c;這些子串是字符串數組 words 中所有單詞的串聯&#xff0c;并且每個單詞只能使用一次&#xff0c;且順序可以任意。下面是代碼的算法思想&#xff1a; 1. 核心思路 分解問題…

解析在OceanBase創建分區的常見問題|OceanBase 用戶問題精粹

在《分區策略和管理分區計劃的實踐方案》這篇文章中&#xff0c;我們介紹了在ODC中制定分區策略及有效管理分區計劃的經驗。有不少用戶在該帖下提出了使用中的問題&#xff0c;其中一個關于創建分區的限制條件的問題&#xff0c;也是很多用戶遭遇的老問題。因此本文以其為切入&…

有哪些免費的 ERP 軟件可供選擇?哪些 ERP 軟件使用體驗較好?

想找個 “免費” 的 ERP 軟件&#xff1f; 咱得知道&#xff0c;ERP 那可是涉及財務、人力、供應鏈、采購、銷售等好多方面的重要企業軟件。功能這么全&#xff0c;能免費才怪呢&#xff01;真要是有免費的&#xff0c;早就火遍大江南北&#xff0c;說不定把市場都壟斷了&…

centos-stream9系統安裝docker

如果之前安裝過docker需要刪除之前的。 sudo dnf -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine 安裝yum-utils工具&#xff1a; dnf -y install yum-utils dnf-plugin…