Artikoloj

Kiel uzi Laravel kun Vue.js 3

Vue.js estas unu el la plej uzataj JavaScript-framoj por krei retinterfacojn kaj unupaĝajn aplikaĵojn, kune kun Laravel ĝi fariĝas tre potenca evoluilo.

Por la disvolviĝo de TTT-aplikoj, vaste uzata ilo estas vuejs, kaj en ĉi tiu artikolo ni vidos kiel instali kaj uzi ĝin kun Laravel. La kadro Vue.js estis definokto progresema kadro ĉar ĝi estas specialigita en la kreado de HTML-vidoj, kaj permesas vin facile integriĝi kun komponantoj de aliaj bibliotekoj kaj projektoj.

La sukceso de Vue.js ankaŭ ŝuldiĝas al la elekto de Laravel sugesti ĝin kiel fasadkadron, tiel kondukante al la eldono de versio 2.0.

Laravel-projektokreado

La unua paŝo estas, kompreneble, krei novan projekton en Laravel. Se vi havas unu en via komputilo, uzu ĝin aŭ vi povas krei novan nur por ĉi tiu lernilo.

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

Post kiam la projekto komenciĝis, vi devos instali lesojn npm toksomanioj. Por fari tion, rulu la sekvan komandon ene de via projekta dosierujo:

npm install

Post kiam la dependecoj estas instalitaj, rulu la sekvan komandon por konstrui la rimedojn kaj certigi, ke ĉio vere funkcias:

npm run dev

La komando npm run dev elfaras diversajn kontrolojn kaj konstruojn, precipe Laravel Mix kompili la dosieron resources/js/app.js kaj la dosiero resources/css/app.css en dosieroj public/js/app.js e public/css/app.css.

Fininte se ĉio funkcias bone, vi vidos ion tian:

Instalante Vue.js

Post prepari la projekton Laravel, ni povas instali Vue.js 3. Por fari tion, rulu la jenan komandon en via projekta dosierujo:

npm install --save-dev vue

Ĉi tio instalos Vue.js kiel unu el la evoluaj dependecoj. Post kompilo de la aktivoj, via produktada JavaScript-dosiero estos memstara, do vi nur bezonas instali Vue.js kiel evoluan dependecon.

Por certigi, ke Vue 3 estis ĝuste instalita, malfermu la dosieron package.json (ĉeestas en projekta radiko) kaj serĉu "vue" en la sekcio "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"
    }
}

Kiel vi povas vidi, la versio numero indikas, ke Vue.js 3 estis instalita. 

Unua provo de Vue.js

En vian welcome.blade.php-dosieron metu la jenan kodon:

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

Kiel vi povas vidi ni kreis elementon div con id "vue-app“. Ene de la skripto-elemento ni kreis ekzemplon de Vue, kie ni transdonas al la konstrukciisto objekton, kiu ebligas al ni defifini iujn aplikajn parametrojn, kiel datumojn kaj kondutojn, en nia kazo:

  • el: Referenco al la elemento div defifiniĝis en la html
  • dato: datumaro

Tuj kiam la objekto estas kreita, Vue akiras la div con id vue-app kaj zorgas pri anstataŭigo de la lokokupilo {{ text }} kun la valoro enhavita ene de la datuma objekto. Kompreneble, ĉi tiu objekto povas enhavi pli ol unu posedaĵon, eĉ de malsamaj tipoj: nombroj, tabeloj kaj aliaj nestitaj objektoj validas

Informilo pri novigo
Ne maltrafu la plej gravajn novaĵojn pri novigado. Registriĝi por ricevi ilin retpoŝte.

Krom ĉi tiu anstataŭaĵo, Vue ankaŭ aktivigis sian motoron kaj igis la aplikaĵon respondema, t.e. ajna ŝanĝo al la tekstposedaĵo kaŭzos tujan ĝisdatigon de la responda elemento en la HTML.

Dua testo de Vue.js

Por daŭrigi la duan provon, vi unue devos krei la apon por krei novan komponanton. Vi malfermas resources/app.js (o resources/js/app.js) kaj ĝisdatigi ĝian enhavon jene:

// resources/app.js

require('./bootstrap');

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

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

En ĉi tiu dosiero ni kreas novan ekzemplon Vue.js, kaj por fari tion ni bezonas Vue-komponenton, kiun ni nomis HelloVue.vue. Por pliaj informoj konsultu la oficialajn dokumentojn . 

Kreu novan dosieron resources/components/HelloVue.vue kaj enigu la sekvan kodon:

// resources/components/HelloVue.vue

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

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

La dosiero, kiun ni ĵus kreis, estas baza komponanto Vue.js, kiu presas Hello Vue! venu header1 sur la paĝo. Fine, malfermu la webpack.mix.js dosieron en la projekta radiko kaj ĝisdatigu ĝian enhavon jene:

// 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', [
        //
    ]);

En ĉi tiu dosiero, la metodo voko .vue() kompilos ajnan Vue.js-kodon kaj kunmetos ĝin en la produktan JavaScript-dosieron. La funkcio akceptas objekton kie vi povas defifini la version de Vue.js, kiun vi uzas. 

Post redaktado de la dosiero webpack.mix.js vi devas kompili la javaskripto-kodon. Por fari tion, ni rulas la komandon denove npm run dev.

Fine, por provi Vue funkcie, malfermu la dosieron resources/views/welcome.blade.php kaj enigu la sekvan kodon:

<!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>

La kodo, kune kun la antaŭe kreita komponanto, produktos videomesaĝon Saluton Vue!, pro la kazo Vue.js muntita sur HTML-elemento kun id app.

Rulu vian aplikaĵon uzante php artisan serve, kaj malfermu ĝin en via plej ŝatata retumilo.

Ercole Palmeri

Vi eble ankaŭ interesiĝos pri ...

Informilo pri novigo
Ne maltrafu la plej gravajn novaĵojn pri novigado. Registriĝi por ricevi ilin retpoŝte.

Lastaj artikoloj

Veeam havas la plej ampleksan subtenon por ransomware, de protekto ĝis respondo kaj reakiro

Coveware de Veeam daŭre liveros servojn de respondaj incidentoj pri ciberĉantaĝo. Coveware ofertos krimmedicinajn kaj solvajn kapablojn...

23 aprilo 2024

Verda kaj Cifereca Revolucio: Kiel Prognoza Prizorgado Transformas la Petrolo kaj Gasa Industrio

Prognoza prizorgado revolucias la petrolon kaj gasan sektoron, kun noviga kaj iniciatema aliro al plantadministrado...

22 aprilo 2024

UK-antitrusta reguligisto vekas BigTech-alarmon pri GenAI

La UK CMA publikigis averton pri la konduto de Big Tech en la merkato de artefarita inteligenteco. Tie…

18 aprilo 2024

Casa Green: energia revolucio por daŭripova estonteco en Italio

La Dekreto "Verdaj Domoj", formulita de Eŭropa Unio por plibonigi la energi-efikecon de konstruaĵoj, finis sian leĝdonan procezon per...

18 aprilo 2024