位置: 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关闭路由)

  • 微信收款被限制原因(微信收款被限制如何立马解除)

    微信收款被限制原因(微信收款被限制如何立马解除)

  • 苹果耳机怎么清除配对(苹果耳机怎么清洗耳机仓)

    苹果耳机怎么清除配对(苹果耳机怎么清洗耳机仓)

  • oppoa57手机怎么分屏操作(oppoa57手机怎么设置呼叫转移)

    oppoa57手机怎么分屏操作(oppoa57手机怎么设置呼叫转移)

  • 拼多多怎么没有换货(拼多多怎么没有退货退款申请)

    拼多多怎么没有换货(拼多多怎么没有退货退款申请)

  • win10相机打不开摄像头(win10相机打不开提示其它应用正在使用相机)

    win10相机打不开摄像头(win10相机打不开提示其它应用正在使用相机)

  • 闲鱼修改头像失败(闲鱼修改头像失败原因)

    闲鱼修改头像失败(闲鱼修改头像失败原因)

  • 快手没交保证金能上传商品吗(快手没交保证金的店铺能不能出售商品)

    快手没交保证金能上传商品吗(快手没交保证金的店铺能不能出售商品)

  • 拼多多买家不确认收货后多久到账(拼多多买家不确定收货钱是不是不会到卖家那里去?)

    拼多多买家不确认收货后多久到账(拼多多买家不确定收货钱是不是不会到卖家那里去?)

  • pr导出媒体没反应(pr2018导出媒体无反应)

    pr导出媒体没反应(pr2018导出媒体无反应)

  • 华为5g技术为什么领先(华为5g技术为什么不用在手机)

    华为5g技术为什么领先(华为5g技术为什么不用在手机)

  • 陌陌距离是自动更新么(陌陌距离有变化怎么回事)

    陌陌距离是自动更新么(陌陌距离有变化怎么回事)

  • 淘宝店铺升级规则(淘宝店铺升级店铺的步骤)

    淘宝店铺升级规则(淘宝店铺升级店铺的步骤)

  • 为什么苹果11网络那么慢(为什么苹果11网络那么卡)

    为什么苹果11网络那么慢(为什么苹果11网络那么卡)

  • 应用悬浮窗是什么意思(应用里面的悬浮窗是什么意思)

    应用悬浮窗是什么意思(应用里面的悬浮窗是什么意思)

  • 抖音看过的视频怎么找足迹(抖音看过的视频推荐给朋友怎么关闭)

    抖音看过的视频怎么找足迹(抖音看过的视频推荐给朋友怎么关闭)

  • 电话卡没用会扣月费嘛(电话卡没用扣费)

    电话卡没用会扣月费嘛(电话卡没用扣费)

  • soul怎么看谁访问了我(soul在哪里可以看谁看过我)

    soul怎么看谁访问了我(soul在哪里可以看谁看过我)

  • 怪兽充电宝哪里可以还(怪兽充电宝多少钱一小时)

    怪兽充电宝哪里可以还(怪兽充电宝多少钱一小时)

  • QQ音乐切歌快捷键是哪个(qq音乐如何快捷切歌)

    QQ音乐切歌快捷键是哪个(qq音乐如何快捷切歌)

  • qq的svip有什么用(qq的svip能干什么)

    qq的svip有什么用(qq的svip能干什么)

  • 微信收款码名字怎么更改(微信收款码名字大全)

    微信收款码名字怎么更改(微信收款码名字大全)

  • wps表格数字乱码(wps表格数字乱码怎么解决)

    wps表格数字乱码(wps表格数字乱码怎么解决)

  • 【愚公系列】华为云系列之基于ModelBox搭建的AI寻车系统(愚公全名)

    【愚公系列】华为云系列之基于ModelBox搭建的AI寻车系统(愚公全名)

  • 增值税退税如何做账
  • 送货单和收据单的区别
  • 其他权益工具投资公允价值变动
  • 个人如何办理营业执照需要什么材料
  • 印花税5元贴花会计处理
  • 税票抵扣是用进项票还是销项票
  • 贴现率与现值系数的关系
  • 信用减值损失贷方
  • 盈余公积补亏账务处理分录
  • 季度预缴所得税可以不交吗
  • 多扣了离职人员的钱
  • 股东退出资本金收回
  • 股权投资类企业税收政策
  • 企业之间借款该怎么做账
  • 本年度应收账款是否应该加起初
  • 公司年末补缴企业所得税需要提供什么资料?
  • 差旅费进项可以跨月抵扣吗
  • 进项税和销项税怎么理解
  • 怎么计算房地产成本单价
  • 购买的商业保险可以税前扣除吗
  • 公司处理固定资产车辆怎么开发票
  • sinutrain破解版
  • 代扣的工会会费和工会经费
  • php的认识
  • 集团内部调拨账务处理
  • 进程program
  • 矿产资源补偿费计入科目
  • 资产负债表货币资金公式
  • 小微企业免税额怎么计算
  • 公办学校的会计
  • 国税申报系统操作流程
  • 驱动开发:内核是什么
  • 进项税额转出忘记申报咋办
  • 开票一定要确认收入嘛
  • 固定收益票据
  • 不是公司员工可以报销费用吗
  • 投资性房地产进项税抵扣
  • 哪些进项税额不能抵扣
  • 幼儿园固定资产说明怎么写
  • 其他所得
  • 让渡资产使用权包括
  • 可明确区分的商品什么意思
  • 社会保险与商业人身保险的区别有
  • 公司帐户可以转法人私人账户吗
  • 错账更正方法有几种分别适用于什么情况
  • 计划成本法下的会计科目
  • 白条抵库现象
  • 本年利润的会计科目代码
  • 备品和备件的定义
  • 应收账款如何记账
  • mysql如何实现多表查询
  • fedora最新版本
  • ubuntu怎么清理内存
  • 怎么用苹果电脑打印照片
  • 笔记本xp无线网络连接禁用启用不了
  • windows 8.1 with update (multiple editions)
  • win10系统运行速度慢
  • scanexplicit.exe - scanexplicit是什么进程 作用是什么
  • win10搜索功能不好用
  • win7任务管理器怎么调回原来样子
  • quick cocos2dx lua 网络图片 下载
  • unity4.x升级到unity5.x材质丢失
  • javascript事件委托的用法及其好处简析
  • javascript entries
  • linux查看端口占用情况并杀掉进程
  • jquery ul li
  • shell脚本 \r
  • 网页过关类游戏
  • jQuery Validation Plugin验证插件手动验证
  • android零基础
  • django优势在哪里
  • javascript如何学
  • jquery中选择器分为哪三种
  • python,多线程
  • 税务局投诉举报
  • 微信收款商业版和个人经营收款码区别
  • 自己建造房屋
  • 电子税务局申领的发票怎么读入
  • 重庆市深化新时代教育评价改革幼儿园
  • 开增值税发票没有销售合同也要交印花税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设