Как интегрировать пакет Vue.js (например, vodal) в Laravel?

У меня есть пустой проект Laravel, и я пытаюсь установить vodal. (https://github.com/chenjiahan/водал) в него, но безуспешно.

Я знаю основы vue.js, но я все еще новичок и никогда раньше не использовал пакет Vue.js в своем приложении Laravel.

Note: I was able to download https://github.com/chenjiahan/vodal and get it running as a standalone. The challenge is getting it integrated into a new Laravel 5.8 project.

После запуска:

npm i -S vodal

Где этот код находится в моем приложении laravel? Что должно войти:

  1. app.js
  2. файл представления blade.php
  3. новый компонент Vue
  4. любое другое место?

Как мне заставить этот пакет Vodal (или, если уж на то пошло, любой vue.js) работать с Laravel? Я боролся в течение нескольких часов подряд, и ЛЮБАЯ помощь будет оценена по достоинству.

<vodal :show = "show" animation = "rotate" @hide = "show = false">
    <div>A vue modal with animations.</div>
</vodal>
import Vue from 'vue';
import Vodal from 'vodal';

Vue.component(Vodal.name, Vodal);

export default {
  name: 'app',

  data() {
    return {
      show: false
    }
  }
}
// include animation styles
@import "vodal/common.css";
@import "vodal/rotate.css";
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
614
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В laravel сначала откройте терминал и установите npm с помощью команды npm install, после чего вы увидите новую папку в вашем проекте с именем node_modules. весь код ваших пакетов находится внутри этой папки.

Теперь просто запустите команду для водыла, например npm i -S vodal

теперь вы можете просто импортировать этот пакет в свой файл app.js, как вы это делали.

Запустите npm run watch для режима разработки, который импортирует весь код воды из папки node_modules в ваш файл app.js, который находится в вашем общедоступном каталоге.

Обновлять

Я увидел ваш репозиторий, скачал его и отредактировал некоторые ваши файлы. ты поступил совершенно неправильно. Я предлагаю вам сначала изучить vuejs, а не углубляться в него.

проблема была в том, что вы вызывали это в vue, а не в компоненте vue, поэтому почему вы даете следующий код.

export default {
    components: {
        Vodal
    },
    data() {
        return {
            show: false
        }
    }
}

мы делаем это в компоненте vue, а не в vue. в data возвращаем только в vue component и официальную документацию vodal, там же дают пример использования в vue component.

и вы не используете его в компоненте vue, поэтому просто сделали это в vue, как показано ниже

const app = new Vue({
    el: '#app',
    data:{
        show: false
    }
});

Итак, теперь ваш CSS.

поэтому для включения css. я просто импортирую это в файл app.scss, как показано ниже.

@import "~vodal/common.css";
@import "~vodal/rotate.css";

теперь заключительная часть и ваша самая большая ошибка. почему вы не включаете файл app.js в файл welcome.blade. Весь ваш код написан в файле app.js, и вы его не включаете. поэтому я просто включаю его в файл welcome.blade, как показано ниже.

<script src = "{{ asset('js/app.js') }}" defer></script>
<link rel = "stylesheet" href = "{{ asset('css/app.css') }}">

в конце концов, просто беги npm run watch

так что теперь основная часть вам нужна show:true для показа модального окна. по умолчанию false, поэтому он не покажет вам. Я делаю событие клика для шоу, чтобы вы понимали, как это все будет работать. и плохо делиться файлами со ссылкой в ​​комментарии.

Я сделал именно это, и это не работает. Однако пакет vodal работает в автономном режиме... вопрос в том, как заставить такой пакет работать в Laravel?

kp123 13.05.2019 17:42

это будет работать с laravel. ты бежал npm run dev Или npm run watch

Karan Sadana 14.05.2019 07:23

Я до сих пор не смог заставить это работать. Между прочим, я смотрел видео, связанные с компонентами, на laracasts.com/series/learn-vue-2 шаг за шагом Вот мой общедоступный репозиторий с двумя коммитами того, что я пробовал: gitlab.com/connecteev/laravel_vodal_test Я запустил это в Терминале 1: npm i -S vodal npm install npm run watch I запустил это в Терминале 2: php artisan serve Затем открыл браузер, чтобы перейти к 127.0.0.1:8000 Не повезло. Я вижу только prnt.sc/npion4 Что я упускаю?

kp123 16.05.2019 21:46

я видел ваш репозиторий панджаби. как я уже сказал, импортируйте его, но импортируйте сверху

Karan Sadana 17.05.2019 05:53

Я загружаю ваш репозиторий и редактирую некоторые файлы, все работает нормально. см. мой обновленный ответ для этого

Karan Sadana 17.05.2019 06:25

Вот zip-ссылка на папку ресурсов Transfernow.net/413mv4c1tqir, скачайте и импортируйте ее.

Karan Sadana 17.05.2019 06:46

Спасибо! Это решило проблему. если вы ищете внештатную работу, пожалуйста, свяжитесь со мной kunalspunjabi [at] gmail.com

kp123 17.05.2019 19:58

Другие вопросы по теме