Web テクノロジーの継続的な発展に伴い、フロントエンドとバックエンドの分離がトレンドになっています。フロントエンド フレームワーク Vue.js は現(xiàn)在ますます人気が高まっていますが、ThinkPHP で Vue を使用するにはどうすればよいでしょうか?この記事では、ThinkPHP5.1 フレームワークを使用して Vue.js を統(tǒng)合する方法を紹介します。
1. Node.js のインストール
始める前に、Node.js 環(huán)境がインストールされていることを確認してください。まだインストールされていない場合は、公式 Web サイトにアクセスしてダウンロードしてインストールしてください。
2. 新しいプロジェクトを作成します
Composer コマンドを使用して、ターミナルに次のコマンドを入力します:
composer create-project topthink/think=5.1.* myapp
上記のコマンドを?qū)g行すると、myapp フォルダーが生成されます現(xiàn)在のパス內(nèi)。次に、次のコマンドを?qū)g行してディレクトリに入り、ThinkPHP の依存関係をインストールします。
cd myapp composer install
3. フロントエンドの依存関係をインストールします
myapp ディレクトリに入ったことを確認した後、コマンドに次の指示を入力します。必要なフロントエンドの依存関係をインストールするための行ツール:
npm install
インストールが完了すると、myapp ディレクトリの下の node_modules フォルダーに正常にインストールされた依存関係パッケージを確認できます。
4. 設(shè)定 webpack.mix.js
webpack.mix.js ファイルは、カスタム コンパイラーとフロントエンドの依存関係パッケージ間の接続を?qū)毪工毪郡幛耸褂盲丹欷蓼埂?webpack.mix.js ファイルを使用して、フロントエンド コードの構(gòu)築方法とパッケージ化方法をカスタマイズできます。
myapp プロジェクト フォルダーで、新しいファイル webpack.mix.js を作成し、次のコードを追加します:
let mix = require('laravel-mix'); mix.js('resources/js/app.js', 'public/js') .sass('resources/sass/app.scss', 'public/css');
上記のコードの機能は次のとおりです:
- #はじめに Laravel Mix ツールエントリ ファイル resource/js/app.js とリソース コンパイル出力パス public/jsSass エントリ ファイル パス resource/sass/app.scss を指定します。コンパイル出力パス public /css
<!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>上記のコード:
クロスドメイン攻撃防御に使用;
スタイルの紹介;
Vue のコンテナとして。 js コンポーネント;
次に、resources/js/ ディレクトリに新しいフォルダー コンポーネントを作成し、その中に新しい ExampleComponent.vue ファイルを作成します。このファイルは、vue.blade.php ファイルにレンダリングされる Vue 単一ファイル コンポーネントです。コードは次のとおりです:は Vue.js コンポーネントです。
<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>
上記のコード:- ##
- タグは HTML テンプレートを挿入するために使用されます。
< ;script>
タグは、JavaScript コードを挿入し、エクスポート デフォルトを介して Vue 単一ファイル コンポーネントをエクスポートするために使用されます。 <style>
タグが使用されます。単一ファイルコンポーネントのスタイルを挿入します。6. Blade テンプレートで Vue.js コンポーネントを使用する
上記の手順を完了すると、Blade テンプレートで Vue.js コンポーネントを使用して次のコードを追加できます。 : 上記のコードの
@extends('index.vue') @section('content') <example-component></example-component> @endsection
@extends('index.vue')は、作成したばかりの vue.blade.php テンプレート、
@section('content')# を參照しています。 ## は Vue. js コンポーネントは、example-component
で描畫位置を指定し、呼び出されるコンポーネント名を指定します。
7. フロントエンドコードをコンパイルする
以下のコマンドを?qū)g行してコンパイルすると、public/js/app.js と public/css/app.css が自動生成されます。この効果は、パブリック ディレクトリ內(nèi)の HTML ファイルを通じて確認できます。
npm run dev
8. Vue.js の統(tǒng)合Laravel Mix を ThinkPHP プロジェクトに統(tǒng)合したら、次のステップは Vue.js を統(tǒng)合することです。ここでは、Laravel Mix と Lodash.debounce の依存関係が使用されています。コードは次のとおりです: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 } } }); }
上記のコード:.vue({ version: 2 }) は、次の目的で使用されます。 Laravel Mix プロジェクトに Vue.js のバージョンを使用するよう指示します;
.babel() は IE8 で Vue.js を?qū)g行するために使用されます;
- .webpackConfig() は他のルールを追加するために使用されますおよび構(gòu)成アイテムをビルダーに渡します。
- 9.準(zhǔn)備完了
- 上記の手順をすべて完了すると、ThinkPHP プロジェクトで Vue.js を正常に使用できるようになります。次のコマンドを?qū)g行してローカル サーバーを起動し、効果を確認します。
php think run
上記は、ThinkPHP で Vue.js を使用するためのいくつかの方法と手順です。これに基づいて、API を介したデータの送信やルーティングの構(gòu)成など、より詳細な構(gòu)成を通じてより複雑な問題を解決することもできます。上記の方法があなたの実踐に役立つことを願っています。以上がthinkphp で vue を使用する方法の詳細內(nèi)容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover
寫真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國語版
中國語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)