So erstellen Sie eine Vue3-Desktopanwendung

So erstellen Sie eine Vue3-Desktopanwendung

In diesem Artikel sehen wir uns an, wie man mit Vite ein Vue 3-Desktopprojekt entwickelt.

Im Projekt wird Electron verwendet, eines der beliebtesten Frameworks zum Erstellen plattformübergreifender Desktopanwendungen mit Javascript. Daher verwenden viele beliebte Anwendungen wie VSCode, Slack, Twitch usw. Electron.

Schauen wir uns zunächst an, was zu tun ist:

Obwohl dies nur eine grundlegende Vite-Vorlage ist, wird sie in einem dedizierten Programm statt in einem Browser ausgeführt. Dies ist ein notwendiger Schritt zum Erstellen Ihrer eigenen Desktopanwendung.

Nachfolgend wird der Entwicklungsprozess beschrieben.

Erstellen Sie ein grundlegendes Vite-Programm

Erstellen Sie zunächst eine Vite-Anwendung. Auf die Funktionsweise von Vite werde ich hier nicht näher eingehen.

Führen Sie den folgenden Befehl im Terminal aus:

npm init @vitejs/app
cd [Projektname]
npm installieren

Fertig, probieren Sie es zuerst in Ihrem Browser aus.

Führen Sie einfach den Befehl npm run dev in Ihrem Terminal aus. Öffnen Sie dann die lokale Adresse im Browser. Sie sehen Folgendes:

Kein Problem, jetzt ist es an der Zeit, Electron zu seinen Einstellungen hinzuzufügen.

Electron zum Vite-Projekt hinzufügen

Hier folgen wir dem offiziellen Schnellstart von Electron und nehmen einige Anpassungen in unserer Vite-Anwendung vor.

Installieren Sie zuerst Electron. Geben Sie den folgenden Befehl im Terminal ein:

Installieren Sie Electron nnpm install --save-dev electron

Werfen Sie als Nächstes einen Blick auf das Electron-Handbuch.

Im Handbuch steht, dass für eine einfache Electron-Konfiguration vier Dateien erforderlich sind:

  • package.json – das existiert bereits
  • Haupt-JS
  • preloader.js
  • Hauptseite

Es sieht so aus, als ob das Projekt die Dateien main.js und index.html enthält, es handelt sich dabei jedoch um Vite-Dateien und nicht um Electron-Dateien. Vite-Dateien können nur zum Ausführen von Vite-Programmen verwendet werden, daher ist auch eine separate Electron-Datei erforderlich.

main.js wird zum Erstellen der Desktop-Anwendung verwendet und in index.html geladen. Es sollte auch den von uns erstellten Vite-Anwendungscode enthalten.

Erstellen eines Vite-Programms

Sie müssen also zuerst das Vite-Programm erstellen. Da es in Electron integriert werden muss, sind einige zusätzliche Konfigurationen erforderlich. Wir möchten sicherstellen, dass beim Erstellen des Projekts alle Verweise auf die endgültigen JavaScript- und CSS-Dateien auf die richtigen Pfade verweisen.

Das zu erstellende Vite-Projekt erstellt ein Dist-Verzeichnis mit der folgenden Struktur.

Da sich unser Electron-Code jedoch im Stammverzeichnis des Projekts befindet, sollten wir die Basis des gesamten Projekts auf den Ordner „dist“ festlegen. Dies kann erreicht werden, indem die Basiseigenschaft in der Datei vite.config.js mithilfe der Pfadbibliothek festgelegt wird.

//vite.config.js
importiere { defineConfig } von 'vite'
vue aus '@vitejs/plugin-vue' importieren
const Pfad = require('Pfad')

// https://vitejs.dev/config/
exportiere Standard-DefineConfig({
  Basis: Pfad.Auflösen(__dirname, './dist/'),
  Plugins: [vue()]
})

Jetzt können Sie „npm run build“ in Ihrem Terminal ausführen, um das Dist-Verzeichnis zu erstellen.

Einrichten von Electrons main.js

Der nächste Schritt besteht darin, die Datei main.js im Stammverzeichnis des Projekts zu erstellen.

Nach der Erstellung müssen wir nur den Code aus der Electron-Kurzanleitung kopieren und einfügen.

Dort, wo wir index.html laden, ändern wir es in dist/index.html, sodass wir die Datei im dist-Verzeichnis verwenden.

Der endgültige Code in main.js sieht also wie folgt aus:

//main.js
const { app, BrowserWindow } = require('electron')
const Pfad = require('Pfad')

Funktion Fenster erstellen () {
  const win = neues Browserfenster({
    Breite: 800,
    Höhe: 600,
    Webeinstellungen: {
      vorladen: Pfad.beitreten(__dirname, 'preload.js')
    }
  })

  win.loadFile('dist/index.html')
}

app.whenReady().then(() => {
  Fenster erstellen()

  app.on('aktivieren', () => {
    wenn (BrowserWindow.getAllWindows().length === 0) {
      Fenster erstellen()
    }
  })
})

app.on('Fenster-alle-geschlossen', () => {
  wenn (Prozess.Plattform !== 'darwin') {
    app.beenden()
  }
})

Erstellen und schreiben Sie preload.js.

Als Nächstes erstellen wir eine Datei preload.js im Stammverzeichnis des Projekts und verwenden den Schnellstartcode erneut, dieses Mal ohne etwas zu ändern.

//vorladen.js
window.addEventListener('DOMContentLoaded', () => {
    const replaceText = (Selektor, Text) => {
      const element = document.getElementById(Selektor)
      wenn (Element) Element.innerText = Text
    }
  
    für (const Typ von ['Chrom', 'Knoten', 'Elektron']) {
      replaceText(`${type}-version`, Prozess.Versionen[Typ])
    }
})

Ändern Sie package.json

Wir sind fast am Ziel, wir müssen nur noch ein paar letzte Änderungen an unserer Datei package.json vornehmen, damit wir den Electron-Befehl ausführen können.

Zuerst müssen wir die Haupteigenschaft festlegen. Standardmäßig sucht Electron im Stammverzeichnis nach der Datei index.js und führt sie aus. Da unsere Datei jedoch main.js heißt, müssen wir sie in package.json definieren.

//paket.json
{
  "Name": "vite-electron",
  "version": "0.0.0",
  "main": "main.js", // Diese Zeile …
}

Legen Sie dann die Art und Weise fest, wie Electron ausgeführt werden soll, und erstellen Sie im Abschnitt „Skripte“ ein neues Skript mit dem Namen „electron:start“ und dem Inhalt „electron …“.

//paket.json
{
  "Name": "vite-electron",
  "version": "0.0.0",
  "main": "main.js",
  "Skripte": {
    "Entwickler": "vite",
    "Build": "vite-Build",
    "serve": "vite Vorschau",
    "electron:start": "electron." // hier},
  ...
}

Das ist der gesamte Code.

Führen Sie abschließend den Befehl npm run electron:start im Terminal aus und Sie sehen:

Das Desktop-Programm ist endlich fertig. Es ist ganz einfach~

Abschließende Gedanken

Als ich kürzlich Vue verbesserte, fand ich ein High-End-Tutorial zu Vue3+TS. Teilen Sie es kostenlos mit den Diggern, klicken Sie hier, um das Tutorial zu sehen

Dies ist das Ende dieses Artikels zum Erstellen einer Vue3-Desktopanwendung. Weitere relevante Inhalte zu Vue3-Desktopanwendungen 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:
  • Vue.js Desktop benutzerdefinierte Bildlaufleiste Komponente Verschönerung Bildlaufleiste VScroll
  • Einfaches praktisches Codebeispiel für die Implementierung einer Vue-Desktopuhr
  • Detaillierte Erläuterung des Betriebsvorgangs zum Verpacken des Desktops mit Electron + Vue
  • So führen Sie den noVNC-Remote-Desktop in ein Vue-Projekt ein

<<:  Detaillierte Erläuterung der Verwendung der integrierten Funktion „locate instr position find_in_set“ in der effizienten Fuzzy-Suche von MySQL

>>:  CentOS konfiguriert die lokale Yum-Quelle / Alibaba Cloud Yum-Quelle / 163yuan-Quelle und konfiguriert die Priorität der Yum-Quelle

Artikel empfehlen

CSS realisiert den Maskeneffekt, wenn die Maus über das Bild bewegt wird

1. Setzen Sie den HTML-Code der Maskenebene und d...

Vue implementiert Card-Flip-Karussellanzeige

Karussellanzeige der Vue-Karte beim Umschalten de...

Detaillierte Erklärung der CSS-Animationsattribut-Keyframes

Wie lange ist es her, dass ich meine Kolumne aktu...

jQuery-Plugin zur Implementierung des Minesweeper-Spiels (2)

In diesem Artikel wird der zweite Artikel zur Ver...

Detaillierte Erklärung der Semiotik in Html/CSS

Basierend auf Theorien wie Saussures Sprachphilos...

Diagramm des Installations- und Verwendungstutorials für MySQL 8.0.17

Vorne geschrieben In der Vergangenheit und in akt...

Eine Frage zur Einstellung des Randradius-Werts

Problemdatensatz Heute wollte ich ein kleines Bau...

Ein unverzichtbarer Karriereplan für Webdesigner

Originalartikel, bei Nachdruck bitte Autor und Qu...

Dynamischer Sternenhimmel Hintergrund umgesetzt mit CSS3

Ergebnis:Implementierungscode html <link href=...

Docker-Praxis: Python-Anwendungscontainerisierung

1. Einleitung Container nutzen einen Sandbox-Mech...

Die Lösung von html2canvas, dass Bilder nicht normal erfasst werden können

Frage Lassen Sie mich zunächst über das Problem s...