這篇文章分享給大家的內容是關於vue2仿美團外賣的專案開發過程,內容很詳細,接下來我們就來看看具體的內容,希望可以幫助到大家。
前言
很多初學者尤其是像我這樣的公司有且只有一個前端的時候,硬著頭皮去學習一門新框架,周圍無人幫忙,平日里遇到問題只能求助於思否,百度,google。點選我的個人頭像去看我的提問你們就知道vue小白去學vue真的很心累。在網路上搜尋的時候搜尋出來的都是一些簡單的demo.教學網站上的項目也是一些簡單的單頁或稍微多幾個頁面。對我這種新手入門可以,但是拿到手做生產開發還遠遠不夠。於是我嘗試寫一個練手型項目,具體頁面有多少我也沒啥數,用到的技術有啥我也沒啥數,總之想到哪裡開發到哪裡,中間會回來查漏補缺。裡面代碼我盡量每句都會有註釋,希望大佬們看到以後不吝賜教。指出錯誤。
為什麼選擇VUE
1學習曲線平滑,沒有NG以及react的學習起來難度那麼大。
2setget的雙向資料綁定方法我覺得很巧妙
3我是尤雨溪腦殘粉
為什麼選美團外賣
美團外賣項目估計差不多能夠設計到大部分VUE技術點,(不含服務端渲染)作為練習夠用了。當然真正的外送開發需要的東西遠不止這些,我的目標只是完成一個粗糙的框架。用作練習。
平日我點外賣一直用美團。用多了可能也比較了解美團外送吧。 emmmm 我就是喜歡美團外帶==
技術堆疊
其實我也不知道我會用到哪些東西,是基於vuecli做的擴展後面再增加的話會回來修改
vue2 vuex vue-router axios webpack ES6 flex stylus vw svg
參考代碼
頁面代碼風格以及實現方式參考的是這裡vue-admin(入門vue我是對著這個學的)
為什麼要使用VW佈局以及2X3X圖
人都是往前走的,不去嘗試新的東西怎麼進步呢。我覺得VW挺好用的於是我就用了,個人練手不會考慮適配呀相容性的問題,喜歡就去用啦。
VW如何在vue中使用,以及1px等比例等解決方案可以點這裡
2X3X圖 我選擇直接3X圖==偷懶了。抱歉
關於設計稿
==我手機截圖然後發電腦上設計的emmmm 就是這麼粗糙
目錄結構
├── build // 构建相关 ├── config // 配置相关 ├── src // 源代码 │ ├── api // 所有请求 │ ├── assets // 静态资源 │ ├── components // 全局公用组件 │ ├── router // 路由 │ ├── store // 全局 store管理 │ ├── utils // 全局公用方法 │ ├── pages // 页面 │ ├── App.vue // 入口页面 │ └── main.js // 入口文件 ├── static // 未用到 ├── .babelrc // babel-loader 配置 ├── .eslintrc.js // eslint 配置项 ├── .gitignore // git 忽略项 ├── index.html // html模板 ├── .postcssrc // postcss配置地址 └── package.json // package.json
今天第一天我只把專案的鷹架搭了一半。路由還沒寫。考慮到第一個頁面就需要使用store。所以我先寫了store
涉及到兩個資料夾
├── api │ └── login.js ├── utils │ └── request.js ├── store ├── ├── modules │ │ └── user.js ├── ├── getters.js │ └── index.js
主要程式碼
import { loginByUsername, logout, loginByMobile } from '@/api/login' import Cookies from 'js-cookie' const emptyuser = { userId: '', // 用户ID name: '', // 用户名 avatar: '', // 用户头像 hasaccount: '', // 是否有账号密码,可能有手机号验证码直接登录未设置账号密码 mobile: '', // 手机号 wx: ''// 是否绑定微信号 } const user = { userinfo: Cookies.get('userinfo') || { userId: '', // 用户ID name: '', // 用户名 avatar: '', // 用户头像 hasaccount: '', // 是否有账号密码,可能有手机号验证码直接登录未设置账号密码 mobile: '', // 手机号 wx: ''// 是否绑定微信号 }, mutations: { SET_USERINFO: (state, code) => { state.userinfo = {...code} // 修改对象或者数组的时候养成用展开运算符的习惯 } }, actions: { // 用户名登录 LoginByUsername ({ commit }, userInfo) { return new Promise((resolve, reject) => { loginByUsername(userInfo.username, userInfo.password).then(response => { const data = response.data commit('SET_USERINFO', data.userinfo) resolve() }).catch(error => { reject(error) }) }) }, LoginByMobile ({ commit }, userInfo) { return new Promise((resolve, reject) => { loginByMobile(userInfo.mobile, userInfo.code).then(response => { const data = response.data commit('SET_USERINFO', data.token) resolve() }).catch(error => { reject(error) }) }) }, // 登出 LogOut ({ commit, state }) { return new Promise((resolve, reject) => { logout(state.userId).then(() => { commit('SET_USERINFO', emptyuser) resolve() }).catch(error => { reject(error) }) }) } } } export default user
vue的store相比較redux簡單很多。
分四部分。
state:單一狀態機,所有需要在每個頁面共享的資料都存放在這裡,不如上面程式碼裡的使用者資訊
getters:拿取狀態機中對應的狀態。 (查)
mutations:制定修改資料的規則。
Action:進行修改數據,與mutations匹配,非同步操作放在這裡。
相關推薦:
以上是vue2仿美團外送的專案開發過程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3漢化版
中文版,非常好用

Dreamweaver Mac版
視覺化網頁開發工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載
最受歡迎的的開源編輯器