ホームページ >PHPフレームワーク >ThinkPHP >thinkphp で vue を使用する方法
Web テクノロジーの継続的な発展に伴い、フロントエンドとバックエンドの分離がトレンドになっています。フロントエンド フレームワーク Vue.js は現在ますます人気が高まっていますが、ThinkPHP で Vue を使用するにはどうすればよいでしょうか?この記事では、ThinkPHP5.1 フレームワークを使用して Vue.js を統合する方法を紹介します。
1. Node.js のインストール
始める前に、Node.js 環境がインストールされていることを確認してください。まだインストールされていない場合は、公式 Web サイトにアクセスしてダウンロードしてインストールしてください。
2. 新しいプロジェクトを作成します
Composer コマンドを使用して、ターミナルに次のコマンドを入力します:
composer create-project topthink/think=5.1.* myapp
上記のコマンドを実行すると、myapp フォルダーが生成されます現在のパス内。次に、次のコマンドを実行してディレクトリに入り、ThinkPHP の依存関係をインストールします。
cd myapp composer install
3. フロントエンドの依存関係をインストールします
myapp ディレクトリに入ったことを確認した後、コマンドに次の指示を入力します。必要なフロントエンドの依存関係をインストールするための行ツール:
npm install
インストールが完了すると、myapp ディレクトリの下の node_modules フォルダーに正常にインストールされた依存関係パッケージを確認できます。
4. 設定 webpack.mix.js
webpack.mix.js ファイルは、カスタム コンパイラーとフロントエンドの依存関係パッケージ間の接続を導入するために使用されます。 webpack.mix.js ファイルを使用して、フロントエンド コードの構築方法とパッケージ化方法をカスタマイズできます。
myapp プロジェクト フォルダーで、新しいファイル webpack.mix.js を作成し、次のコードを追加します:
let mix = require('laravel-mix'); mix.js('resources/js/app.js', 'public/js') .sass('resources/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 コンポーネント;
は 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>上記のコード:
< ;script>
タグは、JavaScript コードを挿入し、エクスポート デフォルトを介して Vue 単一ファイル コンポーネントをエクスポートするために使用されます。c9ccee2e6ea535a969eb3f532ad9fe89
タグが使用されます。単一ファイルコンポーネントのスタイルを挿入します。 6. 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. フロントエンドコードをコンパイルする
以下のコマンドを実行してコンパイルすると、public/js/app.js と public/css/app.css が自動生成されます。この効果は、パブリック ディレクトリ内の HTML ファイルを通じて確認できます。
npm run dev8. Vue.js の統合Laravel Mix を ThinkPHP プロジェクトに統合したら、次のステップは Vue.js を統合することです。ここでは、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 を実行するために使用されます;
php think run上記は、ThinkPHP で Vue.js を使用するためのいくつかの方法と手順です。これに基づいて、API を介したデータの送信やルーティングの構成など、より詳細な構成を通じてより複雑な問題を解決することもできます。上記の方法があなたの実践に役立つことを願っています。
以上がthinkphp で vue を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。