国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

這篇具有很好參考價值的文章主要介紹了黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

了解 Vue3

Vue3是Vue.js最新的主要版本,它已經(jīng)于2020年9月18日發(fā)布。它提供了許多新功能和性能改進,這些改進使得Vue更易于使用和更具可擴展性。

以下是Vue3的一些主要特性:

  1. 更快的渲染:Vue3使用重寫的響應式系統(tǒng),它使用Proxy對象來解決Vue2中的性能瓶頸問題。這使得Vue3的渲染速度比Vue2快許多倍。

  2. 更小的包:Vue3采用了Tree shaking的技術,只打包用到的模塊,從而減少了Vue的文件大小。

  3. 更好的TypeScript支持:Vue3完全支持TypeScript,并提供了更好的類型推斷和更智能的代碼補全。

  4. 新的組合式API:Vue3提供了一組新的API,稱為“組合式API”,它允許開發(fā)人員更好地組織和復用組件邏輯。這些API與Vue2中的Options API不同,使得代碼更整潔且更易于維護。

  5. 更好的可擴展性:Vue3使用了模塊化架構,使得開發(fā)人員可以更方便地擴展Vue。這使得Vue更易于集成到現(xiàn)有的應用程序中,并使得Vue更好地支持團隊協(xié)作。

總之,Vue3是一個更快、更小、更易于擴展和更易于使用的Vue版本。如果您正在使用Vue,那么Vue3絕對值得一試。

初始化項目

創(chuàng)建項目

本地目錄下,打開 cmd,在終端上運行命令創(chuàng)建一個 Vue3 項目,并選擇 Router、Pinia、ESLint 配置:

npm init vue@latest

黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

使用 VSCode IDE 打開項目,如果不會安裝,可以查看文章 Visual Studio Code 下載安裝教程(含必備插件)進行安裝:

黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

啟動項目

在終端運行命令啟動項目:

npm install
npm run dev

黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

訪問鏈接:http://127.0.0.1:5173/

黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

添加目錄

在 src 目錄下添加文件夾用于區(qū)分指定文件:

黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

Git 管理項目

  1. 創(chuàng)建遠程倉庫 vue-rabbit:

    黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

  2. 在本地終端執(zhí)行以下命令:

    git init # git 初始化
    git remote add origin git@github.com:ShiJieCloud/vue-rabbit.git # 添加遠程倉庫地址
    git branch -M main # 切換分支
    git add . # 添加文件
    git commit -m "init" # 提交
    git push origin main # 推送遠程倉庫
    

    黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

jsconfig.json 配置別名路徑

在編寫代碼的過程中,一旦輸入 @/,VSCode 會立刻聯(lián)想出 src 下的所有子目錄和文件,統(tǒng)一文件路徑訪問不容易出錯:

黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

配置別名路徑可以在寫代碼時聯(lián)想提示路徑:

{
  "compilerOptions" : {
    "baseUrl" : "./",
    "paths" : {
      "@/*":["src/*"]
    }
  }
}

ElementPlus 引入

Element-plus 官網(wǎng):https://element-plus.org/

安裝

在終端執(zhí)行命令,選擇 npm 的方式進行安裝:

npm install element-plus --save

黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

配置按需導入

首先我們需要安裝 unplugin-vue-componentsunplugin-auto-import 這兩款插件才能實現(xiàn)按需導入。

  1. 安裝自動導入插件

    npm install -D unplugin-vue-components unplugin-auto-import
    

    黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

  2. 把下列代碼插入到 vite.config.ts 配置文件中,即可實現(xiàn)自動按需導入。

// vite.config.ts
import { defineConfig } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default defineConfig({
  // ...
  plugins: [
    // ...
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
})

測試組件

修改 Vue.app 中的代碼:

<script setup>

</script>

<template>
 <el-button type="primary">Primary</el-button>
</template>

啟動項目,訪問:http://127.0.0.1:5173/

黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

定制 elementPlus 主題

小兔鮮主題色和 elementPlus 默認的主題色存在沖突,通過定制主題讓 elementPlus 的主題色和小兔鮮項目保持一致。采用 Scss 變量替換方案定制主題。

安裝sass

基于vite的項目默認不支持css預處理器,需要開發(fā)者單獨安裝

npm install sass -D

準備定制化的樣式文件

新建文件 styles/element/index.scss

/* 只需要重寫你需要的即可 */
@forward 'element-plus/theme-chalk/src/common/var.scss' with (
  $colors: (
    'primary': (
      // 主色
      'base': #27ba9b,
    ),
    'success': (
      // 成功色
      'base': #1dc779,
    ),
    'warning': (
      // 警告色
      'base': #ffb302,
    ),
    'danger': (
      // 危險色
      'base': #e26237,
    ),
    'error': (
      // 錯誤色
      'base': #cf4444,
    ),
  )
)

自動導入配置

這里自動導入需要深入到 elementPlus 的組件中,按照官方的配置文檔來:

  1. 自動導入定制化樣式文件進行樣式覆蓋
  2. 按需定制主題配置 (需要安裝 unplugin-element-plus)
export default defineConfig({
  plugins: [
    vue(),
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      // 1.配置 elementPlus 采用 sass 樣式配色系統(tǒng)
      resolvers: [ElementPlusResolver({ importStyle: "sass" })],
    }),
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  css: {
    preprocessorOptions: {
      scss: {
        // 2.自動導入定制化樣式文件進行樣式覆蓋
        additionalData: `
          @use "@/styles/element/index.scss" as *;
        `,
      }
    }
  }
})

Axios 安裝并簡單封裝

安裝 Axios

在終端執(zhí)行命令安裝 Axios:

npm install axios

基礎配置

官方文檔地址:https://axios-http.com/zh/docs/intro

基礎配置通常包括:

  1. 實例化:baseURL + timeout
  2. 攔截器:攜帶 token、401 攔截等

在 utils 包下創(chuàng)建一個 http.js 文件,添加以下內(nèi)容:

import axios from 'axios'

// 創(chuàng)建axios實例
const http = axios.create({
  baseURL: 'http://pcapi-xiaotuxian-front-devtest.itheima.net',
  timeout: 5000
})

// axios請求攔截器
http.interceptors.request.use(config => {
  return config
}, e => Promise.reject(e))

// axios響應式攔截器
http.interceptors.response.use(res => res.data, e => {
  return Promise.reject(e)
})

export default http

封裝請求函數(shù)并測試

在 apis 目錄下創(chuàng)建 testAPI.js 文件:

import http from '@/utils/http'

export function getCategoryAPI () {
  return http({
    url: 'home/category/head'
  })
}

在 main.js 中調(diào)用方法測試:

//測試接口函數(shù)
import { getCategoryAPI } from './apis/testAPI'
getCategoryAPI().then(res=>{
    console.log(res);
})

啟動項目,打開控制臺:

黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

路由整體設計

路由設計原則:找頁面的切換方式,如果是整體切換,則為一級路由,如果是在一級路由的內(nèi)部進行的內(nèi)容切換,則為二級路由。

一級路由

首頁
  1. 在 src/views/ 目錄下創(chuàng)建 Layout 目錄,再在該目錄下新建 index.vue 文件:

    黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

  2. 在 index.vue 文件中添加內(nèi)容:

    <template>
       <div>我是首頁</div> 
    </template>
    
  3. 在 src/router/index.js 文件中添加:

    import Layout from '@/views/Layout/index.vue'
    
    const router = createRouter({
      history: createWebHistory(import.meta.env.BASE_URL),
      // path 和 component 對應關系的位置
      routes: [
        {
          path: '/',
          component: Layout
        }
      ]
    })
    
    export default router
    
  4. 在 app.vue 中添加一級路由出口組件:

    <template>
     <!--一級路由出口組件-->
     <RouterView/>
    </template>
    
  5. 啟動項目,訪問頁面:http://127.0.0.1:5173/

    黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

登錄頁
  1. 在 src/views/ 目錄下創(chuàng)建 Login 目錄,再在該目錄下新建 index.vue 文件:

    黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

  2. 在 index.vue 文件中添加內(nèi)容:

    <template>
       <div>我是登錄頁</div> 
    </template>
    
  3. 在 src/router/index.js 文件中添加:

    import Login from '@/views/Login/index.vue'
    
    const router = createRouter({
      history: createWebHistory(import.meta.env.BASE_URL),
      // path 和 component 對應關系的位置
      routes: [
        {
          path: '/login',
          component: Login
        }
      ]
    })
    
    export default router
    
  4. 在 App.vue 中添加一級路由出口組件:

    <template>
     <!--一級路由出口組件-->
     <RouterView/>
    </template>
    
  5. 啟動項目,訪問頁面:http://127.0.0.1:5173/login

    黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

二級路由

Home 頁
  1. 在 src/views/ 目錄下創(chuàng)建 Home 目錄,再在該目錄下新建 index.vue 文件:

    黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

  2. 在 index.vue 文件中添加內(nèi)容:

    <template>
      我是 Home 頁
    </template>
    
  3. 在 src/router/index.js 文件中添加:

    import Layout from '@/views/Layout/index.vue'
    import Home from '@/views/Home/index.vue'
    
    const router = createRouter({
      history: createWebHistory(import.meta.env.BASE_URL),
      // 因為 Home 頁是首頁下的二級路由,所以配置在首頁路徑下
      routes: [
        {
          path: '/',
          component: Layout,
          children: [
            {
              // Home 頁默認在首頁顯示,所以 path 為空
              path: '',
              component: Home,
            }
          ]
        }
      ]
    })
    
    export default router
    
  4. 在 Layout/index.vue 中添加二級路由出口組件:

    <template>
       <div>我是首頁
        <!--二級路由出口組件-->
        <RouterView/>
       </div> 
    </template>
    
  5. 啟動項目,訪問頁面:http://127.0.0.1:5173/

    黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

分類頁
  1. 在 src/views/ 目錄下創(chuàng)建 Home 目錄,再在該目錄下新建 index.vue 文件:

    黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

  2. 在 index.vue 文件中添加內(nèi)容:

    <template>
      我是分類頁
    </template>
    
  3. 在 src/router/index.js 文件中添加:

    import Layout from '@/views/Layout/index.vue'
    import Home from '@/views/Home/index.vue'
    import Category from '@/views/Category/index.vue'
    
    const router = createRouter({
      history: createWebHistory(import.meta.env.BASE_URL),
      // 因為 Home 頁是首頁下的二級路由,所以配置在首頁路徑下
      routes: [
        {
          path: '/',
          component: Layout,
          children: [
            {
              // Home 頁默認在首頁顯示,所以二級路由的 path 置空
              path: '',
              component: Home,
            },
            {
              path: 'category',
              component: Category,
            }
          ]
        }
      ]
    })
    
    export default router
    
  4. 在 Layout/index.vue 中添加二級路由出口組件:

    <template>
       <div>我是首頁
        <!--二級路由出口組件-->
        <RouterView/>
       </div> 
    </template>
    
  5. 啟動項目,訪問頁面:http://127.0.0.1:5173/category

    黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目

靜態(tài)資源引入

  1. 圖片資源:把 images 文件夾放到 assets 目錄下;

  2. 樣式資源:把 common.scss 文件放到 styles 目錄下;

    在 main.js 中導入初始化樣式文件:

    // 引入common.scss
    import '@/styles/common.scss'
    

scss變量自動導入

在項目里一些組件共享的色值會以 scss 變量的方式統(tǒng)一放到一個名為 var.scss 的文件中,正常組件中使用,需要先導入 scss 文件,再使用內(nèi)部的變量,比較繁瑣,自動導入可以免去手動導入的步驟,直接使用內(nèi)部的變量。自動導入配置步驟如下:

  1. 新增一個 var.scss 文件,存入色值變量:

    $xtxColor: #27ba9b;
    $helpColor: #e26237;
    $sucColor: #1dc779;
    $warnColor: #ffb302;
    $priceColor: #cf4444;
    
  2. 通過 vite.config.js 配置自動導入文件:文章來源地址http://www.zghlxwxcb.cn/news/detail-500798.html

    css: {
        preprocessorOptions: {
          scss: {
            // 自動導入scss文件
            additionalData: `
              @use "@/styles/element/index.scss" as *;
              @use "@/styles/var.scss" as *;
            `,
          }
        }
    }
    

到了這里,關于黑馬程序員前端 Vue3 小兔鮮電商項目——(二)初始化項目的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【前端Vue】Vue3+Pinia小兔鮮電商項目第1篇:認識Vue3,1. Vue3組合式API體驗【附代碼文檔】

    【前端Vue】Vue3+Pinia小兔鮮電商項目第1篇:認識Vue3,1. Vue3組合式API體驗【附代碼文檔】

    通過 Counter 案例 體驗Vue3新引入的組合式API 特點: 代碼量變少 分散式維護變成集中式維護 ![image.png]( create-vue是Vue官方新的腳手架工具,底層切換到了 vite (下一代前端工具鏈),為開發(fā)提供極速響應 ![image.png]( 前置條件 - 已安裝16.0或更高版本的Node.js 執(zhí)行如下命令,這一指

    2024年03月17日
    瀏覽(26)
  • 【前端Vue】Vue3+Pinia小兔鮮電商項目第2篇:什么是pinia,1. 創(chuàng)建空Vue項目【附代碼文檔】

    【前端Vue】Vue3+Pinia小兔鮮電商項目第2篇:什么是pinia,1. 創(chuàng)建空Vue項目【附代碼文檔】

    Pinia 是 Vue 的專屬狀態(tài)管理庫,可以實現(xiàn)跨組件或頁面共享狀態(tài),是 vuex 狀態(tài)管理工具的替代品,和 Vuex相比,具備以下優(yōu)勢 提供更加簡單的API (去掉了 mutation ) 提供符合組合式API風格的API (和 Vue3 新語法統(tǒng)一) 去掉了modules的概念,每一個store都是一個獨立的模塊 搭配

    2024年03月21日
    瀏覽(30)
  • 【前端Vue】Vue3+Pinia小兔鮮電商項目第4篇:靜態(tài)結(jié)構搭建和路由配置,1. 準備分類組件【附代碼文檔】

    【前端Vue】Vue3+Pinia小兔鮮電商項目第4篇:靜態(tài)結(jié)構搭建和路由配置,1. 準備分類組件【附代碼文檔】

    Vue3+ElementPlus+Pinia開發(fā)小兔鮮電商項目完整教程(附代碼資料)主要內(nèi)容講述:認識Vue3,使用create-vue搭建Vue3項目1. Vue3組合式API體驗,2. Vue3更多的優(yōu)勢,1. 認識create-vue,2. 使用create-vue創(chuàng)建項目,1. setup選項的寫法和執(zhí)行時機,2. setup中寫代碼的特點。什么是pinia,創(chuàng)建空Vue項目并安裝

    2024年04月11日
    瀏覽(28)
  • 購物車功能實現(xiàn)(小兔鮮兒)【Vue3】

    購物車功能實現(xiàn)(小兔鮮兒)【Vue3】

    購物車業(yè)務邏輯梳理拆解 整個購物車的實現(xiàn)分為兩個大分支, 本地購物車操作和接口購物車操作 由于購物車數(shù)據(jù)的特殊性, 采取Pinia管理購物車列表數(shù)據(jù)并添加持久化緩存 本地購物車 - 加入購物車實現(xiàn) 添加購物車 基礎思想:如果已經(jīng)添加過相同的商品,就在其數(shù)量count上加一

    2024年02月15日
    瀏覽(28)
  • 黑馬程序員前端學習接口變更

    VUE 劉老師離職了,VUE的接口失效的,一律換為黑馬官方接口 axios.defaults.baseURL = \\\'https://www.escook.cn\\\' 換成 axios.defaults.baseURL = \\\'https://applet-base-api-t.itheima.net\\\' ? ?微信小程序 https://api-ugo-web.itheima.net https://www.uinav.com 劉老師博客簡介為不再講課的程序員,但他真的是一位不錯的老師

    2024年02月09日
    瀏覽(26)
  • 登錄頁的具體實現(xiàn) (小兔鮮兒)【Vue3】

    登錄頁的具體實現(xiàn) (小兔鮮兒)【Vue3】

    整體認識 登錄頁面的主要功能就是 表單校驗和登錄登出業(yè)務 準備模板 配置路由跳轉(zhuǎn) 為什么需要校驗 作用:前端提前校驗可以 省去一些錯誤的請求提交 ,為后端節(jié)省接口壓力 表單如何進行校驗 ElementPlus表單組件內(nèi)置了表單校驗功能,只需要 按照組件要求配置必要參數(shù) 即

    2024年02月15日
    瀏覽(22)
  • CSS筆記(黑馬程序員pink老師前端)定位

    CSS筆記(黑馬程序員pink老師前端)定位

    定位可以讓盒子自由的在某個盒子內(nèi)移動位置或者固定在屏幕中某個位置,并且可以壓住其他盒子。 定位 = 定位模式 + 邊偏移 定位模式 說明 static 靜態(tài)定位,按標準流特性擺放,沒有邊偏移,很少用 relative 相對定位,相對自身原有位置移動,原有位置繼續(xù)占有(不脫標) absolute 絕

    2024年02月09日
    瀏覽(24)
  • 小程序入門筆記(一) 黑馬程序員前端微信小程序開發(fā)教程

    小程序入門筆記(一) 黑馬程序員前端微信小程序開發(fā)教程

    微信小程序基本介紹 小程序和普通網(wǎng)頁有以下幾點區(qū)別: 運行環(huán)境:小程序可以在手機的操作系統(tǒng)上直接運行,如微信、支付寶等;而普通網(wǎng)頁需要在瀏覽器中打開才能運行。 開發(fā)技術:小程序采用前端技術進行開發(fā),如HTML、CSS、JavaScript等;而普通網(wǎng)頁也是使用類似的前

    2024年02月08日
    瀏覽(94)
  • CSS筆記(黑馬程序員pink老師前端)浮動,清除浮動

    CSS筆記(黑馬程序員pink老師前端)浮動,清除浮動

    浮動可以改變標簽的默認排列方式。浮動元素常與標準流的父元素搭配使用. 網(wǎng)頁布局第一準則 :多個塊級元素縱向排列找標準流,多個塊級元素橫向排列找浮動。 float屬性用于創(chuàng)建浮動框,將其移動到一邊,直到左邊緣或右邊緣觸及包含塊或另一個浮動框的邊緣。 1.浮動元素

    2024年02月09日
    瀏覽(23)
  • 《JavaScript前端開發(fā)案例教程》課后習題及答案(黑馬程序員編著)

    一、填空題 1.window.document.body可以簡寫為______。 2.console.log(alert(‘Hello’))在控制臺的輸出結(jié)果是______。 3.編輯器中“以UTF-8無BOM格式編碼”中的BOM指的是______。 4.alert(‘測試’.length)的輸出結(jié)果是______。 二、判斷題 1.JavaScript是Java語言的腳本形式。( ) 2.JavaScript中的方法名不

    2024年02月09日
    瀏覽(96)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包