Detaillierte Erläuterung des mobilen Projekts vite2.0 + vue3

Detaillierte Erläuterung des mobilen Projekts vite2.0 + vue3

1. Technische Punkte

  • Vite-Version
  • vue3
  • ts
  • Integriertes Routing
  • Integrieren Sie vuex
  • Integrieren Sie Axios
  • Vant3 konfigurieren
  • Anpassung mobiler Endgeräte
  • Agent anfordern

2. Schritte

vite+ts+vue3 benötigt nur eine Befehlszeile

npm init @vitejs/app meine-vue-app --template vue-ts

Konfigurieren von Routen

npm installiere vue-router@4 --save

Erstellen Sie ein neues Router-Verzeichnis unter src und erstellen Sie eine neue Datei index.ts

importiere { createRouter, createWebHashHistory, RouteRecordRaw } von „vue-router“;
const routes: Array<RouteRecordRaw> = [
 {
 Weg: "/",
 Name: "Home",
 Meta: {
  Titel: "Zuhause",
  keepAlive: wahr
 },
 Komponente: () => import("../views/Home/index.vue"),
 },
 {
 Pfad: "/login",
 Name: "Login",
 Meta: {
  Titel: "Anmelden",
  keepAlive: wahr
 },
 Komponente: () => import("../views/Login/index.vue"),
 },
];
const router = createRouter({
 Verlauf: createWebHashHistory(),
 Routen
});
Standardrouter exportieren;

Mounten Sie die Route in main.ts

importiere { createApp } von 'vue'
App aus „./App.vue“ importieren
Router aus "./router" importieren; createApp(App)
.use(Router)
.mount('#app')

Konfigurieren Sie Data Center Vuex (4.x).

Installieren

npm ich vuex@next --speichern

Konfiguration

Erstellen Sie ein Store-Verzeichnis unter src und erstellen Sie index.ts unter Store

importiere { createStore } von "vuex";
exportiere Standard createStore({
 Zustand: {
 listData:{1:10},
 Zahl: 10
 },
 Mutationen:
 setData(Status,Wert){
  state.listData=Wert
 },
 addNum(Zustand){
  Zustand.Nummer = Zustand.Nummer + 10
 }
 },
 Aktionen: {
 setData(Kontext,Wert){
  Kontext.commit('setData',Wert)
 },
 },
 Module: {}
});

Montieren

Mounten Sie das Rechenzentrum in main.ts

importiere { createApp } von 'vue'
App aus „./App.vue“ importieren
Router aus "./router" importieren;
Store aus "./store" importieren;
createApp(App)
.use(Router)
.use(speichern)
.mount('#app')

Vant3

Installieren

npm ich vant@next -S

Die Vite-Version muss das On-Demand-Laden von Komponenten nicht konfigurieren, da alle Module in Vant 3.0 basierend auf ESM geschrieben sind und natürlich die Möglichkeit haben, bei Bedarf eingeführt zu werden, aber alle Stile müssen eingeführt werden 137,2 KB

Stile global in main.ts importieren

importiere { createApp } von 'vue'
App aus „./App.vue“ importieren
Router aus "./router" importieren;
Store aus "./store" importieren;
importiere 'vant/lib/index.css'; // Globaler Importstil createApp(App)
.use(Router)
.use(speichern)
.use(Ameise)
.mount('#app')

Anpassung mobiler Endgeräte

Installieren Sie postcss-pxtorem

npm installiere postcss-pxtorem -D

Erstellen Sie postcss.config.js im Stammverzeichnis

modul.exporte = {
 "Plugins": {
 "postcss-pxtorem": {
  Wurzelwert: 37,5, 
  // Die offizielle Schriftgröße von Vant beträgt 37,5
  Eigenschaftenliste: ['*'],
  SelektorBlackList: ['.norem'] 
  // Klassen herausfiltern, die mit .norem- beginnen, und keine Rem-Konvertierung durchführen}
 }
}

Erstellen Sie eine neue Datei rem.ts im Verzeichnis util im Stammverzeichnis src.

// rem proportionale Anpassungskonfigurationsdatei // Basisgröße const baseSize = 37.5 
// Beachten Sie, dass dieser Wert mit dem rootValue in der Datei postcss.config.js übereinstimmen muss // Setze die Rem-Funktion function setRem () {
 // Die aktuelle Seitenbreite entspricht dem Breitenskalierungsverhältnis von 375 und kann nach Bedarf geändert werden. Im Allgemeinen ist der Entwurf 750 breit (Sie können die Entwurfszeichnung abrufen und sie nach Belieben ändern).
 const scale = document.documentElement.clientWidth / 375
 // Legen Sie die Schriftgröße des Stammknotens der Seite fest („Math.min (Scale, 2)“ bedeutet, dass das maximale Vergrößerungsverhältnis 2 beträgt und entsprechend den tatsächlichen Geschäftsanforderungen angepasst werden kann.)
 document.documentElement.style.fontSize = Basisgröße * Math.min(Skala, 2) + 'px'
}
// setRem() initialisieren
//Reset rem beim Ändern der Fenstergröße
Fenster.onresize = Funktion () {
 console.log("Ich habe ausgeführt")
 setRem()
}

In main.ts importieren

importiere "./utils/rem"

Konfigurieren Sie die Netzwerkanforderung axios

Installieren

npm i -s axios

Axios konfigurieren

Erstellen Sie einen utils-Ordner in src und erstellen Sie request.ts unter utils

importiere Axios von „Axios“;
const service = axios.create({
 Basis-URL,
 Timeout: 5000 // Anforderungs-Timeout
});
//Interceptor vor dem Einleiten der Anfrage service.interceptors.request.use(
 Konfiguration => {
 // Wenn ein Token vorhanden ist, Carry-Token
 const token = window.localStorage.getItem("accessToken");
 wenn (Token) {
  config.headers.common.Authorization = Token;
 }
 Konfiguration zurückgeben;
 },
 Fehler => Promise.reject(Fehler)
);
// Antwort-Interceptor service.interceptors.response.use(
 Antwort => {
 const res = Antwort.Daten;
 
 wenn (Antwort.Status !== 200) {
  returniere Promise.reject(neuer Fehler(res.message || "Fehler"));
 } anders {
  Rückgabewert;
 }
 },
 Fehler => {
 returniere Promise.reject(Fehler);
 }
);
Standarddienst exportieren;

verwenden

Importiere die Anfrage aus "../utils/request";
Anfrage({URL: "/Profil ",Methode: "get"})
.dann((res)=>{
 Konsole.log(res)
})

Konfigurieren des Anforderungsagenten

vite.config.ts

importiere { defineConfig } von 'vite'
vue aus '@vitejs/plugin-vue' importieren
Pfad von „Pfad“ importieren;
 
// https://vitejs.dev/config/
exportiere Standard-DefineConfig({
 Plugins: [vue()],
 base:"./",//Verpackungspfad auflösen: {
 alias:{
  '@': Pfad.resolve(__dirname, './src') //Alias ​​festlegen}
 },
 Server: {
 port:4000, //Port öffnen: true,
 Proxy: {
  //Option zum Schreiben von '/api': 'http://123.56.85.24:5000'//Proxy-URL},
 Kors: wahr
 }
 
})

Oben ist eine grundlegende Entwicklungskonfiguration für mobile Endgeräte abgeschlossen.

3. Vite ist besonders freundlich zu <script setup> und <style vars>

Normales Schreiben

<script lang="ts">
importiere { defineComponent } von "vue";
importiere { useRouter } von "vue-router";
exportiere StandarddefiniereKomponente({
 aufstellen() {
 const router = useRouter();
 const goLogin = () => {
  router.push("/");
 };
 zurückgeben { goLogin };
 },
});
</Skript>
<script setup>Schreiben <script lang="ts" setup="props">
importiere { useRouter } von "vue-router";
const router = useRouter();
const goLogin = () => {
 router.push("/");
};
</Skript>

Ist es nicht viel einfacher?

Wie verwende ich <style vars>?
<script lang="ts" setup="props">
const state = reaktiv({
 Farbe: "#ccc",
});
</Skript>
<Stil>
.text {
 Farbe: v-bind("Status.Farbe");
}
</Stil>

So einfach ist das!

Code

Ursprüngliche Adresse: zhuanlan.zhihu.com/p/351888882

Online-Vorschau: http://123.56.85.24/vite/#/

Codeadresse: github.com/huoqingzhu/vue3-vite-ts-Vant

Chinesische vitejs-Website: https://cn.vitejs.dev/

Dies ist das Ende dieses Artikels über die praktischen Details der mobilen Projekte vite2.0+vue3. Weitere relevante praktische Inhalte zu vite2.0+vue3-Projekten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Vite+Electron zum schnellen Erstellen von VUE3-Desktopanwendungen
  • So fügen Sie Vite-Unterstützung zu alten Vue-Projekten hinzu
  • Implementierung des Vue 3.x-Projekts basierend auf Vite2.x
  • So verwenden Sie vite zum Erstellen einer Vue3-Anwendung
  • Was wir über Vue3 und Vite zu sagen haben

<<:  Implementierung von Platzhaltern und Escape-Zeichen in der Linux-Befehlszeile

>>:  Installieren und Bereitstellen von Java8 und MySQL unter CentOS7

Artikel empfehlen

Detaillierte Erläuterung der MySQL-Benutzervariablen und Set-Anweisungsbeispiele

Inhaltsverzeichnis 1 Einführung in Benutzervariab...

Umfassende Zusammenfassung der MySQL-Tabellen

Inhaltsverzeichnis 1. Erstellen Sie eine Tabelle ...

Detaillierte Analyse klassischer Fragen zu JavaScript-Rekursionsfällen

Inhaltsverzeichnis Was ist Rekursion und wie funk...

So stellen Sie FastDFS in Docker bereit

Installieren Sie Fastdfs auf Docker Mount-Verzeic...

So installieren und konfigurieren Sie MySQL 5.7.19 unter CentOS 6.5

Die detaillierten Schritte zur Installation von m...

Detaillierte Verwendung von React.Children

Inhaltsverzeichnis 1. Reagieren.Children.map 2. R...

MySQL-Lernprogramm Clustered Index

Das Clustering ist eigentlich relativ zur InnoDB-...

Einfache Installation des vi-Befehls im Docker-Container

Wenn Sie einen Docker-Container verwenden, ist vi...

Zusammenfassung der MySQL InnoDB-Sperren

Inhaltsverzeichnis 1. Gemeinsam genutzte und exkl...

Zusammenfassung zum Ändern des Root-Passworts in MySQL 5.7 und MySQL 8.0

MySQL 5.7-Version: Methode 1: Verwenden Sie den B...

MySQL-8.0.26 Konfigurationsgrafik-Tutorial

Vorwort: Vor kurzem hat das Unternehmensprojekt d...