Статті

Як використовувати Laravel з Vue.js 3

Vue.js є одним із найбільш використовуваних фреймворків JavaScript для створення веб-інтерфейсів і односторінкових додатків, разом із Laravel він стає дуже потужним інструментом розробки.

Для розробки веб-додатків широко використовуваним інструментом є vuejs, і в цій статті ми побачимо, як його встановити та використовувати з Laravel. Фреймворк Vue.js був definito прогресивні рамки оскільки він спеціалізується на створенні переглядів HTML і дозволяє легко інтегрувати компоненти інших бібліотек і проектів.

Успіх Vue.js також пояснюється вибором Laravel щоб запропонувати його як зовнішню структуру, що призвело до випуску версії 2.0.

Створення проекту Laravel

Першим кроком, звичайно, є створення нового проекту в Laravel. Якщо у вас є на вашому комп’ютері, використовуйте його або ви можете створити новий лише для цього підручника.

composer create-project laravel/laravel guide-laravel-vue

Після того, як проект розпочато, вам потрібно буде встановити npm залежності. Для цього виконайте таку команду в каталозі проекту:

npm install

Після встановлення залежностей виконайте таку команду, щоб створити ресурси та переконатися, що все дійсно працює:

npm run dev

Команда npm run dev виконує різноманітні перевірки та збірки, зокрема Laravel Mix скомпілювати файл resources/js/app.js і файл resources/css/app.css у файлах public/js/app.js e public/css/app.css.

Після завершення, якщо все працює нормально, ви побачите щось на зразок цього:

Встановлення Vue.js

Після підготовки проекту Laravel ми можемо перейти до встановлення Vue.js 3. Для цього виконайте таку команду в каталозі проекту:

npm install --save-dev vue

Це встановить Vue.js як одну із залежностей розробки. Після компіляції активів ваш робочий файл JavaScript буде самодостатнім, тому вам просто потрібно встановити Vue.js як залежність від розробки.

Щоб переконатися, що Vue 3 встановлено правильно, відкрийте файл package.json (є в корені проекту) і знайдіть "vue" у розділі "devDependencies":

// package.json

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "mix",
        "watch": "mix watch",
        "watch-poll": "mix watch -- --watch-options-poll=1000",
        "hot": "mix watch --hot",
        "prod": "npm run production",
        "production": "mix --production"
    },
    "devDependencies": {
        "axios": "^0.21",
        "laravel-mix": "^6.0.6",
        "lodash": "^4.17.19",
        "postcss": "^8.1.14",
        "vue": "^3.2.37"
    }
}

Як бачите, номер версії вказує на те, що встановлено Vue.js 3. 

Перша спроба Vue.js

У вашому файлі welcome.blade.php помістіть такий код:

<div id="vue-app">
    {{ text }}
</div>
<script>
window.vueApp = new Vue({
  el: '#vue-app',
  data: {
    text: 'Hello World from Vue!'
  }
});
</script>

Як бачите, ми створили елемент div з id "vue-app“. Всередині елемента сценарію ми створили екземпляр Vue, де ми передаємо конструктору об’єкт, який дозволяє нам defiзавершити деякі параметри програми, такі як дані та поведінка, у нашому випадку:

Пов'язані статті
  • el: Посилання на елемент div defiзавершено в html
  • дата: набір даних

Як тільки об'єкт буде створено, Vue набуває div з id vue-app і піклується про заміну заповнювача {{ text }} зі значенням, що міститься в об’єкті даних. Звичайно, цей об’єкт може містити більше однієї властивості, навіть різних типів: числа, масиви та інші вкладені об’єкти є дійсними

Інноваційний бюлетень
Не пропустіть найважливіші новини про інновації. Підпишіться, щоб отримувати їх електронною поштою.

Окрім цієї заміни, Vue також активував свій двигун і зробив програму адаптивною, тобто будь-яка зміна властивості text призведе до миттєвого оновлення відповідного елемента в HTML.

Другий тест Vue.js

Щоб перейти до другої пробної версії, вам спочатку потрібно створити екземпляр програми, щоб створити новий компонент. Ти відкриваєш resources/app.js (o resources/js/app.js) і оновіть його вміст наступним чином:

// resources/app.js

require('./bootstrap');

import { createApp } from 'vue';
import HelloVue from '../components/HelloVue.vue';

createApp({
    components: {
        HelloVue,
    }
}).mount('#app');

У цьому файлі ми створюємо новий екземпляр Vue.js, і для цього нам потрібен компонент Vue, який ми назвали HelloVue.vue. Для отримання додаткової інформації зверніться до офіційних документів . 

Створіть новий файл resources/components/HelloVue.vue і введіть наступний код:

// resources/components/HelloVue.vue

<template>
  <h1>Hello Vue!</h1>
</template>

<script>
export default {
    name: 'HelloVue'
}
</script>

Файл, який ми щойно створили, є базовим компонентом Vue.js, який друкує Hello Vue! Приходити header1 на сторінці. Нарешті відкрийте webpack.mix.js файл у корені проекту та оновіть його вміст наступним чином:

// webpack.mix.js

const mix = require('laravel-mix');

mix.js('resources/js/app.js', 'public/js')
    .vue({
        version: 3,
    })
    .postCss('resources/css/app.css', 'public/css', [
        //
    ]);

У цьому файлі виклик методу .vue() скомпілює будь-який код Vue.js і об’єднає його у робочий файл JavaScript. Функція приймає об’єкт, де ви можете defiзавершіть версію Vue.js, яку ви використовуєте. 

Після редагування файлу webpack.mix.js вам потрібно скомпілювати код javascript. Для цього виконуємо команду ще раз npm run dev.

Нарешті, щоб спробувати Vue працювати, відкрийте файл resources/views/welcome.blade.php і введіть наступний код:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Laravel Vue</title>
    <script src="{{ asset('js/app.js') }}" defer></script>
</head>
<body>
    <div id="app">
        <hello-vue />
    </div>
</body>
</html>

Код разом із раніше створеним компонентом створить відеоповідомлення Привіт Вю!, оскільки екземпляр Vue.js монтується до елемента HTML за допомогою id app.

Запустіть свою програму за допомогою php artisan serveі відкрийте його у своєму улюбленому браузері.

Ercole Palmeri

Вас також може зацікавити ...

Інноваційний бюлетень
Не пропустіть найважливіші новини про інновації. Підпишіться, щоб отримувати їх електронною поштою.
Ключові слова: рамкиLaravelPHPvue.js

Останні статті

Статистичні функції Excel: навчальний посібник із прикладами, частина перша

Excel надає широкий спектр статистичних функцій, які виконують обчислення від основного середнього значення, медіани та моди до розподілу…

Жовтень 1 2023

Зведені таблиці: що це таке, як створити в Excel і Google. Підручник з прикладами

Зведені таблиці — це метод аналізу електронних таблиць. Вони дозволяють абсолютно новачкові з нульовим досвідом...

30 вересня 2023

Проблема з авторським правом

Нижче наведено другу й останню статтю цього бюлетеня, присвячену зв’язку між конфіденційністю та авторським правом від…

30 вересня 2023

Інновації для електричної мобільності та розумних мереж: нові кальцієво-іонні батареї

Проект ACTEA, ENEA та Римський університет Сапієнца розроблятимуть нові кальцієво-іонні акумулятори. Нові кальцієво-іонні акумулятори як альтернатива…

30 вересня 2023

Основні моменти щорічної зустрічі AOFAS 2023 Ортопедичні дослідження та інновації

Понад 900 хірургів-ортопедів стопи та гомілковостопного суглоба, передових медичних працівників, лікарів-ортопедів та студентів-медиків відвідали...

28 вересня 2023

Бум робототехніки: лише у 2022 році по всьому світу було встановлено 531.000 35 роботів. Очікуване зростання на 2027% на рік до XNUMX року. ЗВІТ PROTOLABS

Згідно з останнім звітом Protolabs про робототехніку для виробництва, майже третина (32%) респондентів вважають, що в найближчі кілька років...

28 вересня 2023

CNH отримала нагороду Agritechnica Innovation Awards за свою технологію в галузі сільського господарства

CNH рішуче прагне розвивати свою технологію, щоб зробити сільське господарство простішим, ефективнішим і стійкішим для своїх…

27 вересня 2023

NTT і Qualcomm вирішили співпрацювати, щоб вийти за межі можливостей ШІ

Стратегічний крок сприятиме швидшому розвитку приватної екосистеми 5G для всіх цифрових пристроїв, повідомляє NTT...

27 вересня 2023

Neuralink розпочинає набір для першого клінічного випробування мозкового імплантату на людях

Neuralink, нейротехнологічний стартап, який належить Ілону Маску, нещодавно оголосив, що розпочне набір пацієнтів для свого…

26 вересня 2023

Privacy Loop: штучний інтелект у лабіринті конфіденційності та авторського права

Це перша з двох статей, у яких я розглядаю делікатний зв’язок між конфіденційністю та авторським правом, з одного боку,…

26 вересня 2023

Читайте Innovation своєю мовою

Інноваційний бюлетень
Не пропустіть найважливіші новини про інновації. Підпишіться, щоб отримувати їх електронною поштою.

Слідуйте за нами