目錄
前言
為什麼選擇VUE
為什麼選美團外賣
技術堆疊
參考代碼
為什麼要使用VW佈局以及2X3X圖
關於設計稿
目錄結構
首頁 web前端 js教程 vue2仿美團外送的專案開發過程

vue2仿美團外送的專案開發過程

Jul 25, 2018 am 11:10 AM
chrome html html5 javascript

這篇文章分享給大家的內容是關於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匹配,非同步操作放在這裡。

相關推薦:

如何實作Vue和axios的介面管理統一

Vue中子元件怎麼取得父元件的值? (props實作)

以上是vue2仿美團外送的專案開發過程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

HTML 中的表格邊框 HTML 中的表格邊框 Sep 04, 2024 pm 04:49 PM

HTML 表格邊框指南。在這裡,我們以 HTML 中的表格邊框為例,討論定義表格邊框的多種方法。

HTML 左邊距 HTML 左邊距 Sep 04, 2024 pm 04:48 PM

HTML 左邊距指南。在這裡,我們討論 HTML margin-left 的簡要概述及其範例及其程式碼實作。

HTML 中的巢狀表 HTML 中的巢狀表 Sep 04, 2024 pm 04:49 PM

這是 HTML 中巢狀表的指南。這裡我們討論如何在表中建立表格以及對應的範例。

HTML 表格佈局 HTML 表格佈局 Sep 04, 2024 pm 04:54 PM

HTML 表格佈局指南。在這裡,我們詳細討論 HTML 表格佈局的值以及範例和輸出。

HTML 輸入佔位符 HTML 輸入佔位符 Sep 04, 2024 pm 04:54 PM

HTML 輸入佔位符指南。在這裡,我們討論 HTML 輸入佔位符的範例以及程式碼和輸出。

HTML 有序列表 HTML 有序列表 Sep 04, 2024 pm 04:43 PM

HTML 有序列表指南。在這裡我們也分別討論了 HTML 有序列表和類型的介紹以及它們的範例

在 HTML 中移動文字 在 HTML 中移動文字 Sep 04, 2024 pm 04:45 PM

HTML 中的文字移動指南。在這裡我們討論一下marquee標籤如何使用語法和實作範例。

HTML onclick 按鈕 HTML onclick 按鈕 Sep 04, 2024 pm 04:49 PM

HTML onclick 按鈕指南。這裡我們分別討論它們的介紹、工作原理、範例以及各個事件中的onclick事件。

See all articles