Vue进行前端开发流程

一、创建vue项目

创建vue项目:先进入要操作的目录下,注意本项目是用vue2开发的。

vue create vue项目名

二、项目开发

1.创建项目结构

 

2.开发功能模块

主入口App.vue

<template><div class="boss-app"><Header /><main class="container"><section class="search-section"><div class="search-box"><input type="text" placeholder="搜索职位/公司/地点"><button class="search-btn">搜索</button></div></section><JobCategory /><div class="content-wrap"><JobList /><CompanyList /></div></main></div>
</template><script setup>
import Header from './components/Header.vue'
import JobCategory from './components/JobCategory.vue'
import JobList from './components/JobList.vue'
import CompanyList from './components/CompanyList.vue'
</script><style scoped>
.boss-app {font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
}
.container {max-width: 1200px;margin: 0 auto;padding: 0 15px;
}
.search-section {padding: 30px 0;text-align: center;
}
.search-box {display: flex;max-width: 800px;margin: 0 auto;
}
.search-box input {flex: 1;height: 48px;padding: 0 15px;border: 1px solid #00b4a6;border-radius: 4px 0 0 4px;font-size: 16px;
}
.search-btn {width: 120px;background: #00b4a6;color: white;border: none;border-radius: 0 4px 4px 0;font-size: 16px;cursor: pointer;
}
.content-wrap {display: flex;margin-top: 30px;gap: 20px;
}
</style>

顶部导航Header.vue

<template><header class="boss-header"><div class="container"><div class="header-content"><div class="logo"><img src="../assets/logo.png" alt="BOSS直聘" width="120"></div><nav class="main-nav"><a href="#" class="active">首页</a><a href="#">职位</a><a href="#">公司</a><a href="#">APP</a><a href="#">消息</a></nav><div class="user-actions"><a href="#">登录</a><a href="#" class="register">注册</a></div></div></div></header>
</template><style scoped>
.boss-header {height: 60px;box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.header-content {display: flex;align-items: center;height: 60px;
}
.logo {margin-right: 40px;
}
.main-nav {display: flex;gap: 30px;
}
.main-nav a {color: #333;text-decoration: none;font-size: 16px;
}
.main-nav a.active {color: #00b4a6;font-weight: bold;
}
.user-actions {margin-left: auto;display: flex;gap: 15px;
}
.register {color: #00b4a6;font-weight: bold;
}
</style>

职位分类JobCategory.vue

<template><section class="job-category"><h2 class="section-title">热门职位</h2><div class="category-list"><div v-for="category in categories" :key="category.id" class="category-item"><h3>{{ category.name }}</h3><div class="tags"><span v-for="tag in category.tags" :key="tag">{{ tag }}</span></div></div></div></section>
</template><script setup>
const categories = [{id: 1,name: '技术',tags: ['Java', 'Python', '前端', '算法', '测试', '架构师']},{id: 2,name: '产品',tags: ['产品经理', '产品总监', '数据产品', '硬件产品']},{id: 3,name: '设计',tags: ['UI设计', '交互设计', '平面设计', '3D设计']}
]
</script><style scoped>
.job-category {margin-top: 20px;
}
.section-title {font-size: 20px;color: #333;margin-bottom: 15px;
}
.category-list {display: flex;gap: 30px;
}
.category-item {flex: 1;background: #f8f8f8;padding: 15px;border-radius: 4px;
}
.category-item h3 {font-size: 16px;margin-bottom: 10px;color: #333;
}
.tags {display: flex;flex-wrap: wrap;gap: 8px;
}
.tags span {background: white;padding: 4px 10px;border-radius: 12px;font-size: 14px;color: #666;cursor: pointer;
}
.tags span:hover {color: #00b4a6;
}
</style>

 职位列表JobList

<template><section class="job-list"><div class="list-header"><h2>推荐职位</h2><a href="#">查看更多 ></a></div><ul class="jobs"><li v-for="job in jobs" :key="job.id" class="job-item"><div class="job-main"><h3>{{ job.title }}</h3><p class="salary">{{ job.salary }}</p><p class="company">{{ job.company }}</p><div class="tags"><span v-for="tag in job.tags" :key="tag">{{ tag }}</span></div></div><div class="job-extra"><p class="location">{{ job.location }}</p><p class="time">{{ job.time }}</p></div></li></ul></section>
</template><script setup>
const jobs = [{id: 1,title: '高级前端开发工程师',salary: '25k-50k',company: '字节跳动',tags: ['Vue', 'React', 'TypeScript'],location: '北京·海淀区',time: '3分钟前'},{id: 2,title: 'Java架构师',salary: '40k-70k',company: '阿里巴巴',tags: ['Spring Cloud', '分布式', '高并发'],location: '杭州·余杭区',time: '1小时前'}
]
</script><style scoped>
.job-list {flex: 2;
}
.list-header {display: flex;justify-content: space-between;align-items: center;margin-bottom: 15px;
}
.list-header h2 {font-size: 18px;color: #333;
}
.jobs {list-style: none;padding: 0;margin: 0;
}
.job-item {padding: 20px;border: 1px solid #eee;border-radius: 4px;margin-bottom: 15px;display: flex;justify-content: space-between;
}
.job-item:hover {box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.job-main h3 {font-size: 16px;margin: 0 0 8px 0;color: #333;
}
.salary {color: #ff6b00;font-weight: bold;margin: 0 0 8px 0;
}
.company {color: #666;margin: 0 0 10px 0;
}
.tags {display: flex;gap: 8px;
}
.tags span {background: #f0f7f6;color: #00b4a6;padding: 2px 8px;border-radius: 2px;font-size: 12px;
}
.job-extra {text-align: right;
}
.location, .time {color: #999;margin: 0;font-size: 12px;
}
</style>

公司列表CompanyList

<template><section class="company-list"><div class="list-header"><h2>热门公司</h2><a href="#">查看更多 ></a></div><ul class="companies"><li v-for="company in companies" :key="company.id" class="company-item"><div class="company-logo"><img :src="company.logo" :alt="company.name"></div><div class="company-info"><h3>{{ company.name }}</h3><p class="industry">{{ company.industry }}</p><p class="scale">{{ company.scale }}</p><div class="jobs"><span v-for="job in company.hotJobs" :key="job">{{ job }}</span></div></div></li></ul></section>
</template><script setup>
const companies = [{id: 1,name: '腾讯科技',logo: 'https://via.placeholder.com/60',industry: '互联网',scale: '10000人以上',hotJobs: ['前端开发', '产品经理', '数据分析']},{id: 2,name: '字节跳动',logo: 'https://via.placeholder.com/60',industry: '互联网',scale: '10000人以上',hotJobs: ['算法工程师', '运营总监', '测试开发']}
]
</script><style scoped>
.company-list {flex: 1;
}
.companies {list-style: none;padding: 0;margin: 0;
}
.company-item {padding: 15px;border: 1px solid #eee;border-radius: 4px;margin-bottom: 15px;display: flex;gap: 15px;
}
.company-item:hover {box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.company-logo img {width: 60px;height: 60px;border-radius: 4px;object-fit: cover;
}
.company-info h3 {font-size: 16px;margin: 0 0 5px 0;color: #333;
}
.industry, .scale {color: #666;margin: 0 0 5px 0;font-size: 13px;
}
.jobs {display: flex;flex-wrap: wrap;gap: 5px;margin-top: 8px;
}
.jobs span {background: #f0f7f6;color: #00b4a6;padding: 2px 8px;border-radius: 2px;font-size: 12px;
}
</style>

三、运行项目

 在终端输入

npm install
npm run serve

       本项目只是实现一个简单的静态网页,后续再完善一下功能。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/900674.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络带宽测速工具选择指南iperf3 nttcp tcpburn jperf使用详解

简介 本文主要介绍内网&#xff08;局域网&#xff09;与外网&#xff08;互联网&#xff09;的网络带宽测速工具下载地址、选择指南、参数对比、基本使用。 测速工具快速选择指南 测速工具下载地址 iperf 官网下载链接&#xff1a;iperf.fr/iperf-download.php该链接提供了不…

微软的 Copilot 现在可以浏览网页并为您执行操作

在庆祝其 50 岁生日之际&#xff0c;微软正在向其人工智能驱动的 Copilot 聊天机器人传授一些新技巧。 从 BASIC 到 AI&#xff0c;改变世界的公司&#xff1a;微软 微软表示&#xff0c;Copilot 现在可以在“大多数网站”上采取行动&#xff0c;使其能够预订门票、预订餐厅等…

Docker学习--网络相关命令

docker network 命令的作用&#xff1a; 用于管理 Docker 网络。这些命令可以创建、列出、删除和检查网络&#xff0c;帮助用户在 Docker 容器之间建立通信。 常用命令&#xff1a; ①列出所有网络&#xff1a; docker network ls。 输出&#xff1a; NETWORK ID NA…

【Vue3知识】组件间通信的方式

组件间通信的方式 概述**1. 父子组件通信****父组件向子组件传递数据&#xff08;Props&#xff09;****子组件向父组件发送事件&#xff08;自定义事件&#xff09;** **2. 兄弟组件通信****通过父组件中转****使用全局状态管理&#xff08;如 Pinia 或 Vuex&#xff09;** **…

[蓝桥杯] 挖矿(CC++双语版)

题目链接 P10904 [蓝桥杯 2024 省 C] 挖矿 - 洛谷 题目理解 我们可以将这道题中矿洞的位置理解成为一个坐标轴&#xff0c;以题目样例绘出坐标轴&#xff1a; 样例&#xff1a; 输入的5为矿洞数量&#xff0c;4为可走的步数。第二行输入是5个矿洞的坐标。输出结果为在要求步数…

2025年Python的主要应用场景

李升伟 编译 Python在2025年仍是最受欢迎和强大的编程语言之一。其简洁易读的语法以及庞大的库生态系统&#xff0c;使其成为各行业开发者的首选。无论是构建复杂的数据管道&#xff0c;还是自动化重复性任务&#xff0c;Python都能提供广泛的应用场景&#xff0c;以实现快速、…

fastapi完全离线环境(无外网)的访问Swagger所做特殊处理

在互联网环境中&#xff0c;只要 启动FastAPI 服务运行在本地机器上&#xff0c;访问 http://localhost:8000/docs&#xff08;Swagger UI&#xff09;就可以访问到Swagger界面&#xff0c;但是在完全离线环境&#xff08;无外网&#xff09;下如何访问Swagger页面呢&#xff1…

Ubuntu 20.04 出现问号图标且无法联网 修复

在 Ubuntu 中遇到网络连接问题&#xff08;如出现问号图标且无法联网&#xff09;&#xff0c;可以通过以下命令尝试重启网络服务&#xff1a; 1. 推荐先修改DNS 编辑 -> 虚拟机网络编辑器-> VMnet8 ->NAT 设置 -> DNS 设置 -> 设置DNS 服务器 DNS填什么 取决…

哈希表(开散列)的实现

目录 引入 开散列的底层实现 哈希表的定义 哈希表的扩容 哈希表的插入 哈希表查找 哈希表的删除 引入 接上一篇&#xff0c;我们使用了闭散列的方法解决了哈希冲突&#xff0c;此篇文章将会使用开散列的方式解决哈希冲突&#xff0c;后面对unordered_set和unordered_map的…

机器学习(八):K-Means聚类原理与实战

声明&#xff1a;未经允许禁止转载与抄袭。 前言 k k k均值&#xff08; k k k-means&#xff09;聚类算法是一种经典的无监督聚类算法&#xff0c;本文将深入解析其理论原理&#xff0c;并在真是数据集上进行算法实践&#xff0c;话不多说&#xff0c;请看下文。 算法原理 …

判断矩阵A和矩阵B是否相似?

【例题1】 &#xff08;1&#xff09;方法1 &#xff08;2&#xff09;方法2 &#xff08;3&#xff09;方法3 好题\(^o^)/~ 【注意】当二次多项式有重根时&#xff0c;即判别式为零&#xff0c;此时二次多项式是完全平方。

【10】搭建k8s集群系列(二进制部署)之安装Dashboard和CoreDNS

一、部署Dashboard 1.1、创建kubernetes-dashboard.yaml文件 完整的yaml配置文件信息如下&#xff1a; # Copyright 2017 The Kubernetes Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in …

大数据技术与Scala

集合高级函数 过滤 通过条件筛选集合元素&#xff0c;返回新集合。 映射 对每个元素应用函数&#xff0c;生成新集集合 扁平化 将嵌套集合展平为单层集合。 扁平化映射 先映射后展平&#xff0c;常用于拆分字符串。 分组 按规则将元素分组为Map结构。 归约 …

数据驱动可视化实战:图表狐精准生成图表的完整数据范式

一、数据输入黄金法则 图表狐 - AI图表生成工具,在线数据可视化要求数据描述必须包含三个核心要素&#xff1a; [主体对象] [量化指标] [维度划分] 错误示例 ❌&#xff1a; "展示各部门销售额对比" 正确示例 ✅&#xff1a; "2023年Q1-Q4各部门销售额&a…

苍穹外卖(1)-部分环境配置(git、数据库)

首先配置git 创建好本地仓库之后 把项目弄到远程仓库里去 先进行提交 &#xff0c;后进行推送 &#xff0c;然后gitee创建一个仓库 把这个url复制好 推送后会出来一个 点击推送&#xff0c;会让你输入gitee账号密码&#xff0c;输入自己的账号密码&#xff0c;就可以连接远程仓…

Ubunut18.04 离线安装MySQL 5.7.35

一、环境准备 1.1 官方下载MySQL5.7.35 完整包 1.2 上传包 & 解压 上传包名称是&#xff1a;mysql-server_5.7.35-1ubuntu18.04_amd64.deb-bundle.tar # 切换到上传目录 cd /home/MySQL # 解压&#xff1a; tar -xvf mysql-server_5.7.35-1ubuntu18.04_amd64.deb-bundle…

Linux(CentOS10) gcc编译

本例子摘自《鸟哥的linux私房菜-基础学习第四版》 21.3 用make进行宏编译 书中的代码在本机器(版本见下&#xff09;编译出错&#xff0c;改正代码后发布此文章&#xff1a; #kernel version: rootlocalhost:~/testmake# uname -a Linux localhost 6.12.0-65.el10.x86_64 #1…

MCP+Blender创建电力塔

MCP&#xff08;Model Context Protocol&#xff09;与Blender的结合是当前AI与3D建模领域的热门技术&#xff0c;它通过协议化的方式让Claude等AI模型直接控制Blender&#xff0c;实现自动化3D建模。 1. 功能与原理 • 核心能力&#xff1a;用户通过自然语言指令&#xff08;…

Qt与C++数据类型转换

本文深入探讨Qt与C中相似但不同的数据类型处理技巧。 一、QString与std::string的相互转换 1. QString → std::string 方法1&#xff1a;使用toStdString()&#xff08;推荐&#xff09; QString qstr "你好&#xff0c;Qt世界"; std::string str qstr.toStdS…

机器学习+EEG熵进行双相情感障碍诊断的综合评估

摘要 双相情感障碍(BD)是一种常见的精神疾病&#xff0c;特点是躁狂或轻躁狂与抑郁交替发作&#xff0c;其严重程度各异&#xff0c;导致准确及时的诊断具有一定的挑战性。EEG的非线性特征被认为是精神障碍的生物标志物&#xff0c;能够反映大脑的非线性动态。尽管已有研究证明…