Mit der kontinuierlichen Weiterentwicklung der Webtechnologie ist die Trennung von Front-End und Backend zu einem Trend geworden. Das Front-End-Framework Vue.js wird immer beliebter. Wie kann man Vue in ThinkPHP verwenden? In diesem Artikel wird erl?utert, wie Sie Vue.js mithilfe des ThinkPHP5.1-Frameworks integrieren.
1. Installieren Sie Node.js
Bevor Sie beginnen, stellen Sie sicher, dass Sie die Node.js-Umgebung installiert haben. Wenn nicht, k?nnen Sie sie auf der offiziellen Website herunterladen und installieren.
2. Erstellen Sie ein neues Projekt
Verwenden Sie den Composer-Befehl und geben Sie den folgenden Befehl in das Terminal ein:
composer create-project topthink/think=5.1.* myapp
Nachdem Sie den obigen Befehl ausgeführt haben, wird im aktuellen Pfad ein myapp-Ordner generiert. Führen Sie dann Folgendes aus, um das Verzeichnis aufzurufen und die ThinkPHP-Abh?ngigkeiten zu installieren:
cd myapp composer install
3. Installieren Sie die Front-End-Abh?ngigkeiten
Nachdem Sie best?tigt haben, dass Sie das myapp-Verzeichnis aufgerufen haben, geben Sie die folgenden Anweisungen in das Befehlszeilentool ein, um die erforderlichen zu installieren Front-End-Abh?ngigkeiten:
npm install
Nach Abschluss der Installation k?nnen Sie die erfolgreich installierten Abh?ngigkeitspakete im Ordner ?node_modules“ im Verzeichnis ?myapp“ sehen.
4. Konfiguration webpack.mix.js
Die Datei webpack.mix.js wird verwendet, um die Verbindung zwischen dem benutzerdefinierten Compiler und dem Front-End-Abh?ngigkeitspaket herzustellen. über die Datei webpack.mix.js k?nnen Sie anpassen, wie der Front-End-Code erstellt und verpackt wird.
Erstellen Sie im MyApp-Projektordner eine neue Datei webpack.mix.js und fügen Sie den folgenden Code hinzu:
let mix = require('laravel-mix'); mix.js('resources/js/app.js', 'public/js') .sass('resources/sass/app.scss', 'public/css');
Die Funktion des obigen Codes ist:
- Einführen des Laravel Mix-Tools
- Geben Sie die Ressourcen der Eintragsdatei an/ js/app.js und Ressourcenkompilierungsausgabepfad public/js
- Geben Sie den Sass-Eintragsdateipfad resources/sass/app.scss und den Kompilierungsausgabepfad public/css an
übrigens ist Laravel Mix ein Tool, das kombiniert Webpack mit anderen Build-Tools und dient zur Vereinheitlichung des Front-End-Workflows.
5. Erstellen Sie Vue.js-Komponenten
Bevor Sie mit dem Schreiben von Vue.js-Komponenten beginnen, müssen Sie zun?chst ein Ressourcen-/Ansichtsverzeichnis erstellen, darunter einen neuen Ordnerindex erstellen und im Indexordner einen neuen Ordner mit dem Namen vue erstellen .blade.php-Datei. Diese Datei ist die Rendering-Vorlage der Vue.js-Komponente. Der Code lautet wie folgt:
<!DOCTYPE html> <html> <head> <title>Vue component - ThinkPHP</title> <meta name="csrf-token" content="{{ csrf_token() }}"> <link rel="stylesheet" href="{{ mix('css/app.css') }}" /> </head> <body> <div id="app"> <example-component></example-component> </div> <script src="{{ mix('js/app.js') }}"></script> </body> </html>
Im obigen Code:
<meta name="csrf-token" content="{{ csrf_token () }}" >
Wird zur dom?nenübergreifenden Angriffsabwehr verwendet;<meta name="csrf-token" content="{{ csrf_token() }}">
用于跨域攻擊防御;<link rel="stylesheet" href="{{ mix('css/app.css') }}" />
引入樣式;<div id="app">
作為 Vue.js 組件的容器;<example-component></example-component>
即為 Vue.js 組件。
接下來在 resources/js/ 目錄下新建一個文件夾 components,并在其中新建 ExampleComponent.vue 文件。這個文件是一個 Vue 單文件組件,將會被渲染到 vue.blade.php 文件。代碼如下:
<template> <div class="container"> <h1 class="title">Vue component - ThinkPHP</h1> <p>Message: {{ message }}</p> </div> </template> <script> export default { data () { return { message: 'Hello, Vue!' } } } </script> <style> .container { margin: 0 auto; max-width: 640px; } .title { font-size: 32px; color: #333; } </style>
以上代碼中:
<template>
標簽用于插入 HTML 模板;<script>
標簽用于插入 JavaScript 代碼,通過 export default 導出 Vue 單文件組件;<style>
標簽用于插入單文件組件的樣式。
六、在 Blade 模板中使用 Vue.js 組件
完成以上步驟后,即可在 blade 模板中使用 Vue.js 組件添加以下代碼:
@extends('index.vue') @section('content') <example-component></example-component> @endsection
以上代碼中的 @extends('index.vue')
引用了剛才創(chuàng)建的 vue.blade.php 模板, @section('content')
為 Vue.js 組件指定了渲染位置,通過 example-component
<link rel="stylesheet" href="{{ mix('css/app.css') }}" />
Stile einführen; <div id="app">
als Container für Vue.js-Komponenten < ;/example-component>< /code> ist die Vue.js-Komponente. Als n?chstes erstellen Sie einen neuen Ordner ?components“ im Verzeichnis resources/js/ und erstellen darin eine neue Datei ?ExampleComponent.vue“. Bei dieser Datei handelt es sich um eine Vue-Einzeldateikomponente, die in der Datei vue.blade.php gerendert wird. Der Code lautet wie folgt:
npm run dev
Im obigen Code:
<template>
-Tag wird zum Einfügen einer HTML-Vorlage verwendet; <script>
-Tag wird verwendet, um JavaScript-Code einzufügen und Vue-Einzeldateikomponenten über den Exportstandard zu exportieren. <style>
-Tag wird verwendet, um den Stil einer Einzeldateikomponente einzufügen.
6. Verwenden Sie die Vue.js-Komponente in der Blade-Vorlage.
Nach Abschluss der obigen Schritte k?nnen Sie die Vue.js-Komponente in der Blade-Vorlage verwenden, um den folgenden Code hinzuzufügen:
let mix = require('laravel-mix');
let debounce = require('lodash.debounce');
// styles
mix.sass('resources/assets/sass/app.scss', 'public/css');
// scripts
mix.js('resources/assets/js/app.js', 'public/js')
.vue({ version: 2 })
.babel(['public/js/app.js'], 'public/js/app.js')
.webpackConfig({
module: {
rules: [
{
test: /.vue$/,
loader: 'vue-loader'
}
]
}
});
// browserSync
if (process.env.NODE_ENV !== 'production') {
mix.browserSync({
proxy: process.env.APP_URL || 'localhost:8000',
notify: false,
files: [
'app/**/*.php',
'resources/views/**/*.php',
'public/**/*.{css,js}'
],
snippetOptions: {
rule: {
match: /</body>/i
}
}
});
}
@extends( ' im obigen Code index.vue')
bezieht sich auf die gerade erstellte vue.blade.php-Vorlage, @section('content')
gibt die Renderposition für die Vue.js-Komponente an , durch example -component
gibt den Namen der aufzurufenden Komponente an.
??7. Kompilieren Sie den Front-End-Code????Wenn Sie den folgenden Befehl zum Kompilieren ausführen, werden public/js/app.js und public/css/app.css automatisch generiert. Der Effekt kann anhand der HTML-Datei im ?ffentlichen Verzeichnis gesehen werden. ??php think run
??8. Vue.js integrieren????Nach der Integration von Laravel Mix in das ThinkPHP-Projekt besteht der n?chste Schritt darin, Vue.js zu integrieren. Hier werden Laravel Mix- und Lodash.debounce-Abh?ngigkeiten verwendet. Der Code lautet wie folgt: ??rrreee??Im obigen Code: ??????.vue({ version: 2 }) wird verwendet, um dem Laravel Mix-Projekt mitzuteilen, dass es die Version von verwenden soll Vue.js; ????.babel() wird zum Ausführen von Vue.js in IE8 verwendet; ????.webpackConfig() wird zum Hinzufügen anderer Regeln und Konfigurationselemente zum Builder verwendet. ??????9. Fertig????Nach Abschluss aller oben genannten Schritte k?nnen Sie Vue.js erfolgreich in ThinkPHP-Projekten verwenden. Führen Sie den folgenden Befehl aus, um den lokalen Server zu starten und den Effekt zu sehen: ??rrreee??Oben sind einige Methoden und Schritte für die Verwendung von Vue.js in ThinkPHP aufgeführt. Auf dieser Basis k?nnen Sie auch komplexere Probleme durch detailliertere Konfiguration l?sen, z. B. die übermittlung von Daten über die API, die Konfiguration des Routings usw. Ich hoffe, dass die oben genannten Methoden Ihnen in Ihrer Praxis helfen k?nnen. ??Das obige ist der detaillierte Inhalt vonSo verwenden Sie Vue in Thinkphp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)