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.org
cnpm -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.x
npm 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 --save

3.引入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.网站

https://windicss.org/

2.安装

npm i -D vite-plugin-windicss windicss

3.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.css
import '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.css
import '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>
<div
class="flex items-center justify-center my-5 text-gray-300
space-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-button
round
color="#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 ref
const 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 密码显示图标—–小眼睛文章来源地址https://www.toymoban.com/news/detail-475845.html

<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-input
type="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-button
round
color="#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.表单前后端数据交互

到了这里,关于vue项目实战经验,相关库的安装,继续完善的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【项目实战经验】DataKit迁移MySQL到openGauss(下)

    上一篇我们分享了安装、设置、链接、启动等步骤,本篇我们将继续分享迁移、启动~    9. 离线迁移 9.1. 迁移插件安装 中断安装,比如 kill 掉java进程(安装失败也要等待300s) 下载安装包准备上传 缺少mysqlclient lib包 mysql如果是二进制安装的话,我这个版本是没有18这个lib包

    2024年04月14日
    浏览(36)
  • 缺项目经验的看过来,真实的软件测试实战项目来了

    这是一个电商项目,你可以在网站上购买各种宠物。 常见的电商网站操作在这个项目中都可以找到,比如注册,登录,查找商品,选择商品,添加购物车,下单,查看定位,确认收货地址等等。   网站需要的个人信息并不需要真实的,付款也不需要真的付钱,并不需要担心

    2024年02月07日
    浏览(50)
  • 100个精选Python实战项目案例,送给缺乏练手经验的你

    随着 Python 语言的流行,越来越多的人加入到了 Python 的大家庭中。为什么这么多人学 Python ?我要喊出那句话了:“人生苦短,我用 Python!”,正是因为语法简单、容易学习,所以 Python 深受大家喜爱。(Python!Python!Python!) Python 初学者在迈过安装编程环境和基本语法的

    2024年02月13日
    浏览(39)
  • PyCharm下载和安装教程以及相关配置(导入第三方库的软件包等配置)Windows版下载

    PyCharm是一种Python IDE(Integrated Development Environment,集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持

    2023年04月08日
    浏览(82)
  • [C++项目] Boost文档 站内搜索引擎(4): 搜索的相关接口的实现、线程安全的单例index接口、cppjieba分词库的使用、综合调试...

    有关 Boost 文档搜索引擎的项目的前三篇文章, 已经分别介绍分析了: 项目背景: 🫦[C++项目] Boost文档 站内搜索引擎(1): 项目背景介绍、相关技术栈、相关概念介绍… 文档解析、处理模块 parser 的实现: 🫦[C++项目] Boost文档 站内搜索引擎(2): 文档文本解析模块parser的实现、如何对

    2024年02月14日
    浏览(49)
  • Python - OpenCV机器视觉库的简单使用经验

    OpenCV是一个开源的计算机视觉库,它支持多种编程语言,包括Python。下面是Python 3中OpenCV的详细解析: 安装OpenCV 在Python 3中安装OpenCV,可以使用pip命令来安装。例如,在终端中输入以下命令: 打开和读取图像 使用Opencv读取图像,可以使用cv2.imread()函数。该函数接受一个参数

    2024年02月15日
    浏览(34)
  • 3年测试经验只会“点点点”,不会自动化即将面临公司淘汰?沉淀100天继续做测试

    前段时间一个朋友跟我吐槽,说自己做软件测试工作已经3年了,可这三年自己的能力并没有得到提升,反而随着互联网的发展,自己只会“点点点”的技能即将被淘汰。说自己很苦恼了,想要提升一下自己,可不知道该如何去提升自己,于是想来向我取取经。 很多做软件测

    2024年02月03日
    浏览(48)
  • 【Vue3】Vue项目各个配置文件的相关用途

    通过Vue Cli创建好初始代码后,对于各个文件以及配置文件的用途,比较模糊。弄清楚配置文件的大致作用,十分有利于项目整体性的把控,在实际项目中例如修改配色、样式、统一页面结构等,都可以事半功倍。 1、package.json (项目的描述文件) 2、.browserslistrc 浏览器兼容性

    2023年04月20日
    浏览(34)
  • ORM Bee V1.17.21 LTS 版 同步 2.0,2.1 发现的 bug,完善相关问题

    ORM Bee, 支持 Oracle, MySQL 等,还有 NoSQL:Cassandra,MongoDB, 手机开发: Android 和 Harmony 等. 为了支持原有用户,在 1.17 的基础上, 同步 2.0,2.1 发现的 bug, 完善相关问题,发布了 V1.17.21 V1.17.21 与 V2.1 比较,V2.1 多了 Sharding, MongoDB ORM 功能.  Bee 2.1 完善的 Sharding 分片功能,完善的 MongoDB

    2024年02月13日
    浏览(26)
  • 库的相关操作

    目录 一、创建数据库 1,创建数据库规则 2、创建案例 二、字符集和校验规则 1、查看系统默认字符集以及校验规则 2、查看数据库支持的字符集以及校验规则 3、校验规则对数据库的影响 三、操纵数据库 1、查看数据库和目前所在数据库 2、显示创建语句 3、修改数据库 4、删

    2024年02月09日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包