位置: IT常识 - 正文

vue项目实战经验,相关库的安装,继续完善(vuecli项目实战)

编辑:rootadmin
vue项目实战经验,相关库的安装,继续完善 前言

推荐整理分享vue项目实战经验,相关库的安装,继续完善(vuecli项目实战),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue做项目,一个完整的vue项目介绍,vue3项目实战,vue做项目,vue项目工作流程,vue实战项目例子,vue项目经验怎么写,vue项目经验怎么写,内容如对您有帮助,希望把文章链接给更多的朋友!

最近在系统学习vue3的项目实战,这里是对学习过程中的总结,包括一些库,框架的网站。

项目介绍

本项目基于Vue3 + ElementPlus + Vite实战开发商城后台管理系统,其中包括Vite的使用,Vue3全新的

node.js的搭建1.node官网下载

https://nodejs.org/zh-cn/

2.npm 淘宝镜像安装npm install -g cnpm --registry=https://registry.npm.taobao.orgcnpm -v //查看版本号vite项目搭建1.vite官网和介绍

http://www.vitejs.net/ Vite 需要 Node.js 版本 >= 12.0.0。,通过

npm init vite@latest //查看版本号2.创建vue3项目#npm 7+, 需要额外的双横线:npm init vite@latest my-vue-app -- --template vue#npm 6.xnpm init vite@latest my-vue-app --template vue

再按要求勾选相关需要, npm run dev 运行。

Element Plus UI库引入1. Element Plus网站

https://element-plus.gitee.io/zh-CN/ Element Plus 是用于vue3的element库,vue2是element-ui 注意一下

2.库安装npm install element-plus --save3.引入UI库文件

main.js文件

import { createApp } from 'vue'import './style.css'// 引入element依赖文件import ElementPlus from 'element-plus'import 'element-plus/dist/index.css'import App from './App.vue'const app = createApp(App)app.use(ElementPlus)app.mount('#app')windicss 框架1.网站vue项目实战经验,相关库的安装,继续完善(vuecli项目实战)

https://windicss.org/

2.安装npm i -D vite-plugin-windicss windicss3.Vite 配置中添加插件 ,和Vite 入口文件中导入

vite.config.js 文件

import vue from '@vitejs/plugin-vue'import { defineConfig } from 'vite'import WindiCSS from 'vite-plugin-windicss'// https://vitejs.dev/config/export default defineConfig({plugins: [vue(),WindiCSS()],})

main.js 文件

import { createApp } from 'vue'import './style.css'// 引入element依赖文件import ElementPlus from 'element-plus'import 'element-plus/dist/index.css'import App from './App.vue'const app = createApp(App)app.use(ElementPlus)// 引入windi.cssimport 'virtual:windi.css'app.mount('#app')vue-router 路由1.网站

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

2.安装npm install vue-router@4全局配置

router/index.js 文件

//1. 导入vue-router相关函数import { createRouter, createWebHashHistory } from "vue-router"// 2.路由规则const routes = [{path:"路由地址",name:"路由名称",component:组件名称}]// 3.路由对象实例化const router = createRouter({history: createWebHashHistory(),routes})// 暴露导出export default router

main.js 文件

import { createApp } from 'vue'import './style.css'// 引入element依赖文件import ElementPlus from 'element-plus'import 'element-plus/dist/index.css'// 导入router配置文件import router from "./router"import App from './App.vue'const app = createApp(App)// 挂载文件app.use(ElementPlus)app.use(router)// 引入windi.cssimport 'virtual:windi.css'app.mount('#app')路径别名设置

vite.config.js 文件

import vue from '@vitejs/plugin-vue'import { defineConfig } from 'vite'import WindiCSS from 'vite-plugin-windicss'// 1.导入node的path路径模块import path from "path"// https://vitejs.dev/config/export default defineConfig({resolve: {alias: {// 配置别名"~": path.resolve(__dirname, "src")}},plugins: [vue(), WindiCSS()]})添加404页面

建好一个404页面组件,再路由index.js里

//1. 导入vue-router相关函数import { createRouter, createWebHashHistory } from "vue-router"// 导入页面组件import Home from "~/views/Home.vue"import NotFound from "~/views/Page404.vue"// 2.路由规则const routes = [{path: "/",redirect: "/home"},{path: "/home",component: Home},// 404页面设置{path: '/:pathMatch(.*)*',name: 'NotFound',component: NotFound},]// 3.路由对象实例化const router = createRouter({history: createWebHashHistory(),routes})// 暴露导出export default router登录页面布局1.创建Login.vue组件并配置路由

配置路由

//1. 导入vue-router相关函数import { createRouter, createWebHashHistory } from "vue-router"// 导入页面组件import Home from "~/views/Home.vue"import Login from "~/views/Login.vue"import NotFound from "~/views/Page404.vue"// 2.路由规则const routes = [{path: "/",redirect: "/home"},{path: "/home",name: Home,component: Home},{path: "/login",name: Login,component: Login},{path: '/:pathMatch(.*)*',name: 'NotFound',component: NotFound},]// 3.路由对象实例化const router = createRouter({history: createWebHashHistory(),routes})// 暴露导出export default router

Login.vue组件布局源代码

<!-- 视图层 --><template><el-row class="min-h-screen bg-indigo-500"><el-col :span="16" class="flex items-center justify-center"><div><div class="font-bold text-5xl text-light-50 mb-4">欢迎光临</div><div class="text-gray-200 text-sm">《vue3商城后台管理系统》</div><el-icon><Lock /></el-icon></div></el-col><el-col:span="8"class="bg-light-50 flex items-center justify-center flex-col"><h2 class="font-bold text-3xl text-gray-800">欢迎回来</h2><divclass="flex items-center justify-center my-5 text-gray-300space-x-2"><span class="h-[1px] w-16 bg-gray-200"></span><span>账号密码登录</span><span class="h-[1px] w-16 bg-gray-200"></span></div><el-form :model="form" class="w-[250px]"><el-form-item><el-input v-model="form.username" placeholder="请输入用户名"><template #prefix><el-icon><UserFilled /></el-icon></template></el-input></el-form-item><el-form-item><el-input v-model="form.password" placeholder="请输入密码"><template #prefix><el-icon><Lock /></el-icon></template></el-input></el-form-item><el-form-item><el-buttonroundcolor="#626aef"class="w-[250px]"type="primary"@click="onSubmit">登 录</el-button>></el-form-item></el-form></el-col></el-row></template><!-- 逻辑层 --><script setup>import { reactive } from "vue";// 导入icon图标// import { Lock, UserFilled } from "@element-plus/icons-vue";// do not use same name with refconst form = reactive({username: "",password: "",});const onSubmit = () => {console.log("submit!");};</script><!-- 样式层 --><style lang="" scoped></style>2.表单验证

:rules=“rules” 绑定规则 ref=“formRef” 获取el-form表单组件实例对象 prop=“username” 关联指定对象 show-password 密码显示图标—–小眼睛

<el-form :rules="rules" ref="formRef" :model="form" class="w-[250px]"><el-form-item prop="username"><el-input v-model="form.username" placeholder="请输入用户名"><template #prefix><el-icon><UserFilled /></el-icon></template></el-input></el-form-item><el-form-item prop="password"><el-inputtype="password"v-model="form.password"placeholder="请输入密码"show-password><template #prefix><el-icon><Lock /></el-icon></template></el-input></el-form-item><el-form-item><el-buttonroundcolor="#626aef"class="w-[250px]"type="primary"@click="onSubmit">登 录</el-button></el-form-item></el-form>import { reactive, ref } from "vue";const form = reactive({username: "",password: "",});// 验证规则const rules = {username: [{required: true,message: "用户名不能为空",trigger: "blur",},],password: [{required: true,message: "密码不能为空",trigger: "blur",},],};// 获取form元素节点对象const formRef = ref(null);const onSubmit = () => {formRef.value.validate((valid) => {if (!valid) {return false;}console.log("验证通过");});};2.表单前后端数据交互
本文链接地址:https://www.jiuchutong.com/zhishi/299682.html 转载请保留说明!

上一篇:前端开发中常见的浏览器兼容性问题及解决方案(前端开发常见的兼容性问题)

下一篇:vue路由跳转取消上个页面的请求(vue关闭路由)

  • 三星手机怎么快速截屏(三星手机怎么快速截屏 操作)

    三星手机怎么快速截屏(三星手机怎么快速截屏 操作)

  • 小米开发版内测怎么转公测(小米开发版内测答题答案2022)

    小米开发版内测怎么转公测(小米开发版内测答题答案2022)

  • 华为nova7可以指关节截屏吗(华为nova7可以屏幕指纹解锁吗)

    华为nova7可以指关节截屏吗(华为nova7可以屏幕指纹解锁吗)

  • 苹果11和11 pro的区别(苹果11和11 Pro的钢化膜通用吗)

    苹果11和11 pro的区别(苹果11和11 Pro的钢化膜通用吗)

  • 长镜头和一镜到底区别(长镜头和一镜到底哪个好)

    长镜头和一镜到底区别(长镜头和一镜到底哪个好)

  • 抖音拍同款显示网络不给力

    抖音拍同款显示网络不给力

  • redmi8a是什么型号(redmi8a手机性能怎么样)

    redmi8a是什么型号(redmi8a手机性能怎么样)

  • 相机开不了机为什么?(相机 开不了机)

    相机开不了机为什么?(相机 开不了机)

  • 手机中的腾讯vip怎么在电视上登录使用(手机中的腾讯文档怎么打印)

    手机中的腾讯vip怎么在电视上登录使用(手机中的腾讯文档怎么打印)

  • 小米手环4NFC功能(小米手环4NFC功能介绍以及使用方法)

    小米手环4NFC功能(小米手环4NFC功能介绍以及使用方法)

  • 6s和8屏幕一样大吗(iphone6s和8屏幕)

    6s和8屏幕一样大吗(iphone6s和8屏幕)

  • 平台认证失败401(平台认证失败pubg)

    平台认证失败401(平台认证失败pubg)

  • vivox30屏占比(vivox50屏占比)

    vivox30屏占比(vivox50屏占比)

  •  iphonex上市时间(iphoneXS上市时间和价格)

    iphonex上市时间(iphoneXS上市时间和价格)

  • 手机双摄如何用(手机双摄是什么意思)

    手机双摄如何用(手机双摄是什么意思)

  • word怎么做条形码(word怎么做条形统计图并标上数值)

    word怎么做条形码(word怎么做条形统计图并标上数值)

  • 华为no va5pro怎么截屏(华为nova5pro怎么恢复出厂设置)

    华为no va5pro怎么截屏(华为nova5pro怎么恢复出厂设置)

  • 淘宝造物节门票可以转让吗(淘宝造物节门票在哪买)

    淘宝造物节门票可以转让吗(淘宝造物节门票在哪买)

  • 快手私信怎么设置自动回复(快手私信怎么设置)

    快手私信怎么设置自动回复(快手私信怎么设置)

  • 抖音搜手机号码能搜到好友吗(抖音搜手机号码怎么搜)

    抖音搜手机号码能搜到好友吗(抖音搜手机号码怎么搜)

  • 微信发出去消息怎么撤回(微信发出去消息超过两分钟怎么撤回)

    微信发出去消息怎么撤回(微信发出去消息超过两分钟怎么撤回)

  • 蓝盘 薄盘 区别(蓝盘好不好)

    蓝盘 薄盘 区别(蓝盘好不好)

  • 小红书如何选择关注的人(小红书如何选择感兴趣的内容)

    小红书如何选择关注的人(小红书如何选择感兴趣的内容)

  • msxct.exe - msxct是什么进程 有什么用

    msxct.exe - msxct是什么进程 有什么用

  • 关于服务连接器(Servlet)你了解多少?(服务器连接方式包括直接相连,间接连接)

    关于服务连接器(Servlet)你了解多少?(服务器连接方式包括直接相连,间接连接)

  • ps中如何进行像素和厘米转换(ps如何进行像素修复)

    ps中如何进行像素和厘米转换(ps如何进行像素修复)

  • 组成计税价格包括什么
  • 公司被员工劳动仲裁
  • 全额工资是到手工资吗
  • 收取租车押金怎么做会计分录
  • 金税盘备份文件名
  • 专利在审可以入库吗
  • 油费补助记什么科目
  • 原材料的运杂费会计分录
  • 固定资产什么时候入账
  • 开票软件服务费不交会怎么样
  • 专业合作社的业务范围
  • 个人所得税变动率计算公式为多少
  • 土地使用税是由出租方还是承租方交
  • 购买金税盘需要法人去税务局进行信息采集吗
  • 出租车库收入是否需要计算缴纳土地增值税
  • 银行呆帐坏账
  • 合并报表利润表是当期还是累计
  • 关于防暑降温福利国家有哪些政策规定?
  • 个体工商户开票免税额度是多少
  • 销售应税产品分录
  • 月末汇兑损益怎么算
  • 免征的农资增值税怎么算
  • 计提本月工资是上月工资吗
  • 年终奖发放管理制度
  • ksysslim.exe是什么
  • 比较有用的sr
  • 基建会计和建筑会计的区别
  • 固定资产自行建造的会计处理
  • 夸克到底有什么用
  • 企业 土地增值税
  • php投票系统代码
  • vue3获取dom元素的方法
  • 网络命令netstat
  • php从服务器下载文件
  • 银行账户维护费怎么做账
  • 自建厂房折旧算制造费用吗
  • mysql查询或
  • 又是客户又是供应商的舞弊行为
  • 微店企业店铺和个人店铺的区别
  • 可供出售交易性金融资产申报表怎么填
  • 小规模企业可以抵扣进项税吗
  • 哪些合同必须签订书面合同
  • 哪些合同不用计提印花税
  • 房产公司结转成本的会计分录
  • 借银行存款贷预收账款是哪个凭证
  • 其它应付款是否可以抵扣
  • 公司房租发票是法人名字能入账吗安全吗
  • 外购产品对外捐赠的会计处理方法
  • 研发人员伙食费可以加计扣除吗为什么
  • 私车公用涉及的税种有哪些
  • 购买电脑配件组件怎么选
  • 个体工商户记账报税教程
  • 自产委托加工的货物用于非增值税应税项目
  • 没有发票的费用怎么入账
  • 购买单位什么意思
  • 小规模纳税人所得税优惠政策2023
  • 固定资产折旧的会计凭证
  • 如何当好一个农民
  • 企业在销售过程中支付的消费税应通过什么账户进行核算
  • 发票丢失了怎么报销
  • linux 切文件
  • win键有啥用
  • mac的safari浏览器无法打开
  • freebsd怎么样
  • win7系统如何更改默认浏览器
  • windows xp怎么设置桌面
  • Linux安装配置jdk
  • 一个简单的小实验
  • js中密码由字母和数字组成,长度为4-20
  • Javascript selection的兼容性写法介绍
  • js内存泄漏的原因及解决办法
  • idea 分析源码
  • python生成随机数表
  • class在js中的实际运用
  • 简述使用jquery实现表单验证的流程
  • 浙江省税务局发票短信
  • 柬埔寨现在的领导
  • 进口酒类税收
  • 淮北税务局领导简介
  • 广东省电子税务局申报缴税操作指引
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设