Сбой сборки Gridsome при использовании с плагином vue2-leaflet

При запуске gridsome build получаю window is not defined. У кого-нибудь есть пример того, как заставить vue2-leaflet работать с опцией только клиента для gridsome?


person Vasilis Tsirimokos    schedule 14.07.2019    source источник
comment
У вас это сработало? Если нет, опубликуйте, пожалуйста, код импорта листовки.   -  person Dave    schedule 06.01.2020


Ответы (2)


Оберните компонент внутри шаблона с помощью тега <ClientOnly>, подробнее в моем другом ответе

person Hermesis    schedule 12.02.2020
comment
Спасибо, @Hermesis, добавление в шаблон <ClientOnly> было частью решения. В итоге у меня сработало следующее: https://github.com/gridsome/gridsome/issues/646 - person Vasilis Tsirimokos; 06.09.2020

Я боролся с той же проблемой (но с другими библиотеками), и единственным решением, которое я нашел, было скопировать пакет в src/. Что-то вроде :

cp -a node_modules/package-giving-me-headaches src/plugins

а также

// main.js
import PackageGivingMeHeadaches from "~/plugins/package-giving-me-headaches"

В зависимости от пакета вам может потребоваться определенная точка входа:

// main.js
import PackageGivingMeHeadaches from "~/plugins/package-giving-me-headaches/src" 

Вы знаете, что вам нужно это сделать, когда Gridsome сообщает вам:

"export 'default' (imported as 'PackageGivingMeHeadaches') was not found in '~/plugins/package-giving-me-headaches'

Изменить: Да, я знаю, что это не идеально и некрасиво, но у меня нет времени бороться за это.

person HPDL    schedule 16.07.2019
comment
Благодарим @HPDL за то, что нашли время предложить решение. Я бы не стал отрицать это, но я также не думаю, что это идеальное решение. - person Vasilis Tsirimokos; 23.07.2019