最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Vite2.x的Vue 3.x項(xiàng)目的搭建實(shí)現(xiàn)

 更新時(shí)間:2021年04月30日 09:54:29   作者:不二博客  
這篇文章主要介紹了基于Vite2.x的Vue 3.x項(xiàng)目的搭建實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

創(chuàng)建 Vue 3.x 項(xiàng)目

npm init @vitejs/app my-vue-app --template
 

引入 Router 4.x

npm install vue-router@4 --save

 配置路由

在更目錄中添加一個(gè) router 的文件夾,新建 index.js

Router 4.x 為我們提供了 createRouter 代替了 Router 3.x 中的 new VueRouter,用于創(chuàng)建路由。

// Router 4.x
import { createRouter, createWebHashHistory, RouteRecordRaw } from "vue-router";
const routes: Array<RouteRecordRaw> = [
  {
    path: "/",
    name: "Home",
    component: () => import("../views/Home/index.vue"),
  },
  {
    path: "/login",
    name: "Login",
    component: () => import("../views/Login/index.vue"),
  },
];
const router = createRouter({
  history: createWebHashHistory(),
  routes
});
export default router;

Router 4.x 中為我們提供了 createWebHashHistory 與 createWebHistory 方法設(shè)置哈希模式與歷史模式。

const router = createRouter({
  history: createWebHashHistory(), // 哈希模式
  history: createWebHistory(), // 歷史模式
});

相對(duì)路徑配置

在之前的 VueCli 中,我們得益于 WebPack 進(jìn)行打包工具可以直接使用特定符號(hào)表示當(dāng)前路徑。同樣Vite 也為我們提供了 resolve.alias 屬性。

// vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
const { resolve } = require('path')

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  // 定義相對(duì)路徑,@代替
  resolve: {
    alias: {
      '@': resolve(__dirname, 'src')
    }
  }
})

引入 Vuex

引入 Vuex 后 在更目錄新建文件 src/store/index.ts 文件。

npm i vuex@next --save

Vant 引入

下載

npm install vant@next --save

vite 版本不需要配置組件的按需加載,因?yàn)閂ant 3.0 內(nèi)部所有模塊都是基于 ESM 編寫的,天然具備按需引入的能力,但是樣式必須全部引入。

// main.ts
import { createApp } from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";
import Vant from "Vant";
import "vant/lib/index.css"; // 全局引入樣式

createApp(App).use(router).use(store).use(Vant).mount("#app");

由于 Vue 3.x 中新增了 setup 函數(shù),但是在 setup 中 this 的指向?yàn)?undefined ,故 Vant 的一些全局方法無法使用。

<template>
   <div>
      <van-nav-bar title="標(biāo)題" left-text="返回" right-text="按鈕" left-arrow fixed @click-left="onClickLeft" @click-right="onClickRight" />
      <van-nav-bar title="標(biāo)題" left-text="返回" right-text="按鈕" left-arrow @click-left="onClickLeft" @click-right="onClickRight" />
   </div>
</template>

<script lang="ts">
import { defineComponent } from "vue";

export default defineComponent({
   setup() {
      const onClickLeft = () => Toast("返回");
      const onClickRight = () => Toast("按鈕");
      return {
         onClickLeft,
         onClickRight,
      };
   },
});
</script>

以上的實(shí)例中 Toast is not defined,原因就在于我們將 Vant 全局應(yīng)用后在就不能局部引用,否則 Vite 會(huì)報(bào)錯(cuò)。

通過編寫 工具類二次封裝 Toast 即可解決此問題。

// utils/util.ts
// 簡(jiǎn)易彈窗
import { Toast } from "Vant";
export const toast = (text: string) => {
  Toast(text);
};
import { defineComponent } from "vue";
import { toast } from "@/utils/util";

export default defineComponent({
   setup() {
      const onClickLeft = () => toast("返回");
      const onClickRight = () => toast("按鈕");
      return {
         onClickLeft,
         onClickRight,
      };
   }
});

到此這篇關(guān)于基于Vite2.x的Vue 3.x項(xiàng)目的搭建實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)vite 搭建vue3項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • AntV F2和vue-cli構(gòu)建移動(dòng)端可視化視圖過程詳解

    AntV F2和vue-cli構(gòu)建移動(dòng)端可視化視圖過程詳解

    這篇文章主要介紹了AntV F2和vue-cli構(gòu)建移動(dòng)端可視化視圖過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • vue.js父子組件傳參的原理與實(shí)現(xiàn)方法

    vue.js父子組件傳參的原理與實(shí)現(xiàn)方法

    這篇文章主要介紹了vue.js父子組件傳參的原理與實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了vue.js父子組件傳參的基本原理、實(shí)現(xiàn)方法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2023-04-04
  • vue?tree封裝一個(gè)可選的樹組件方式

    vue?tree封裝一個(gè)可選的樹組件方式

    這篇文章主要介紹了vue?tree封裝一個(gè)可選的樹組件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • vue中的event bus非父子組件通信解析

    vue中的event bus非父子組件通信解析

    本篇文章主要介紹了 vue中的event bus非父子組件通信解析 ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • vue封裝一個(gè)彈幕組件詳解

    vue封裝一個(gè)彈幕組件詳解

    這篇文章主要介紹了vue封裝一個(gè)彈幕組件詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙可以參考一下
    2022-08-08
  • vue監(jiān)聽input標(biāo)簽的value值方法

    vue監(jiān)聽input標(biāo)簽的value值方法

    今天小編就為大家分享一篇vue監(jiān)聽input標(biāo)簽的value值方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • VUE3使用JSON編輯器的詳細(xì)圖文教程

    VUE3使用JSON編輯器的詳細(xì)圖文教程

    最近項(xiàng)目中有用到j(luò)son編輯器,我選用了這款vue的編輯器,看起來也是比較簡(jiǎn)潔,接下來就具體介紹一下它,下面這篇文章主要給大家介紹了關(guān)于VUE3使用JSON編輯器的詳細(xì)圖文教程,需要的朋友可以參考下
    2023-04-04
  • vue如何使用媒體查詢實(shí)現(xiàn)響應(yīng)式

    vue如何使用媒體查詢實(shí)現(xiàn)響應(yīng)式

    這篇文章主要介紹了vue如何使用媒體查詢實(shí)現(xiàn)響應(yīng)式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue watch原理源碼層深入講解

    Vue watch原理源碼層深入講解

    watch 是由用戶定義的數(shù)據(jù)監(jiān)聽,當(dāng)監(jiān)聽的屬性發(fā)生改變就會(huì)觸發(fā)回調(diào),這項(xiàng)配置在業(yè)務(wù)中是很常用。在面試時(shí),也是必問知識(shí)點(diǎn),一般會(huì)用作和 computed 進(jìn)行比較。那么本文就來帶大家從源碼理解 watch 的工作流程,以及依賴收集和深度監(jiān)聽的實(shí)現(xiàn)
    2022-10-10
  • vue init失敗簡(jiǎn)單解決方法(終極版)

    vue init失敗簡(jiǎn)單解決方法(終極版)

    這篇文章主要介紹了vue init失敗的簡(jiǎn)單解決方法-終極版,需要的朋友可以參考下
    2017-12-12

最新評(píng)論

眉山市| 行唐县| 江口县| 大庆市| 南阳市| 自贡市| 张家界市| 寻甸| 大兴区| 乳源| 磐石市| 丰台区| 武威市| 榆中县| 庆阳市| 濮阳市| 浮山县| 北海市| 华安县| 伽师县| 恩施市| 泰州市| 子洲县| 双桥区| 滨州市| 鹿泉市| 广州市| 泽普县| 连城县| 黑水县| 襄汾县| 广德县| 大渡口区| 涿鹿县| 东至县| 安宁市| 都昌县| 邵阳县| 景东| 平乡县| 宁津县|