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.pswp.cn/news/900674.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/900674.shtml
英文地址,請注明出處:http://en.pswp.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;能夠反映大腦的非線性動態。盡管已有研究證明…