Ошибка в одном компоненте vue не позволяет всем работать в laravel

Я разрабатываю приложение Laravel + vuejs. Я использую смесь Laravel для управления регистрацией компонентов и т. д. У меня есть несколько компонентов vue для различных частей моего приложения.

В одном из них у меня есть такая строчка, которая вызывает ошибку

 this.map.on('dragend',function(){console.info('Dragend Event')})

Это вызывает эту ошибку:

bundle.js:53526 Uncaught TypeError: Cannot read property 'on' of null

Laravel mix не вызывает ошибки при сборке, эта ошибка появляется только во время выполнения

Теперь сама ошибка не такая уж большая проблема. Я могу исправить это, что меня беспокоит, так это то, что, поскольку Laravel mix связывает все компоненты вместе, это означает, что ни один компонент теперь не работает.

На каждой странице, которую я посещаю, есть одна и та же проблема. есть ли способ отделить компоненты.

Итак, если у меня возникнет сбой в компоненте, как мне убедиться, что он влияет только на страницу, на которой эти компоненты необходимы? а не весь сайт.

Я бы посоветовал вам создать отдельный js-файл для каждой страницы, который содержит только компоненты для текущей страницы.

thefallen 24.08.2018 12:53

Я бы сказал, что так в целом работает javascript: ваш скрипт выдает ошибку и останавливает выполнение. Вот почему у вас обычно много нулевых проверок. Попробуйте Catch решить вашу конкретную ошибку - или вы просто проверяете сохранение в нескольких местах

Frnak 24.08.2018 12:56

@FrankProvost проблема не в ошибке, а в последствиях.

JaChNo 24.08.2018 13:10

@thefallen, я думаю, это один из способов, я посмотрю, может ли микс создавать отдельные файлы для сгруппированных компонентов. так что я все еще могу загрузить основной связанный js

JaChNo 24.08.2018 13:12

Вы можете сделать mix.js('file1').js('file2') и извлечь библиотеки поставщиков, такие как vue и jquery, в отдельный файл.

thefallen 24.08.2018 13:18

Я очень сомневаюсь, что это решит любую проблему. Разделение поставщика из ваших файлов все равно приведет к тому, что ваши скрипты перестанут работать, если вы реализуете ошибку. Это язык сценариев, который просто останавливается на ошибках, которых вы не поймаете. Либо поймайте их, либо убедитесь, что они не соответствуют. Показанную конкретную проблему так легко решить - просто убедитесь, что this.map существует, прежде чем назначать ему события.

Frnak 24.08.2018 13:51

@FrankProvost на самом деле не об ошибке, есть много вещей, которые мы могли бы сделать, чтобы предотвратить это и бесчисленное множество других ошибок, но если мы сделаем ошибку. мы могли удалить целый сайт. Так что защитное кодирование должно быть нормой, но я предпочитаю подход с поясом и подтяжками. Спасибо

JaChNo 24.08.2018 14:18
Стоит ли изучать 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
7
50
0

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