Для розробки веб-додатків широко використовуваним інструментом є vuejs, і в цій статті ми побачимо, як його встановити та використовувати з Laravel. Фреймворк Vue.js був definito прогресивні рамки оскільки він спеціалізується на створенні переглядів HTML і дозволяє легко інтегрувати компоненти інших бібліотек і проектів.
Успіх Vue.js також пояснюється вибором Laravel щоб запропонувати його як зовнішню структуру, що призвело до випуску версії 2.0.
Першим кроком, звичайно, є створення нового проекту в 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
.
Після завершення, якщо все працює нормально, ви побачите щось на зразок цього:
Після підготовки проекту 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.
У вашому файлі 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завершити деякі параметри програми, такі як дані та поведінка, у нашому випадку:
div
defiзавершено в htmlЯк тільки об'єкт буде створено, Vue
набуває div
з id vue-app
і піклується про заміну заповнювача {{ text }}
зі значенням, що міститься в об’єкті даних. Звичайно, цей об’єкт може містити більше однієї властивості, навіть різних типів: числа, масиви та інші вкладені об’єкти є дійсними
Окрім цієї заміни, Vue також активував свій двигун і зробив програму адаптивною, тобто будь-яка зміна властивості text призведе до миттєвого оновлення відповідного елемента в HTML.
Щоб перейти до другої пробної версії, вам спочатку потрібно створити екземпляр програми, щоб створити новий компонент. Ти відкриваєш 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
Вас також може зацікавити ...
Excel надає широкий спектр статистичних функцій, які виконують обчислення від основного середнього значення, медіани та моди до розподілу…
Зведені таблиці — це метод аналізу електронних таблиць. Вони дозволяють абсолютно новачкові з нульовим досвідом...
Нижче наведено другу й останню статтю цього бюлетеня, присвячену зв’язку між конфіденційністю та авторським правом від…
Проект ACTEA, ENEA та Римський університет Сапієнца розроблятимуть нові кальцієво-іонні акумулятори. Нові кальцієво-іонні акумулятори як альтернатива…
Понад 900 хірургів-ортопедів стопи та гомілковостопного суглоба, передових медичних працівників, лікарів-ортопедів та студентів-медиків відвідали...
Згідно з останнім звітом Protolabs про робототехніку для виробництва, майже третина (32%) респондентів вважають, що в найближчі кілька років...
CNH рішуче прагне розвивати свою технологію, щоб зробити сільське господарство простішим, ефективнішим і стійкішим для своїх…
Стратегічний крок сприятиме швидшому розвитку приватної екосистеми 5G для всіх цифрових пристроїв, повідомляє NTT...
Neuralink, нейротехнологічний стартап, який належить Ілону Маску, нещодавно оголосив, що розпочне набір пацієнтів для свого…
Це перша з двох статей, у яких я розглядаю делікатний зв’язок між конфіденційністю та авторським правом, з одного боку,…