This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Вопрос Подключение Vue

Brabus7

Участник портала
14 Окт 2021
32
6
65
Может кто помочь с подключением Vue CLI или объяснить как ее правильно подключать.

Подключил я ее, но не уверен что правильно, ибо после этого сервер начал грузиться заметно дольше (запуск и подключение к нему).

Не хочу каждый раз вызывать mp.browsers.new('http://localhost:8080');

Можно как-то поменять конфиги и через роутер нормально билд делать, сам не до конца понимаю что пишу.
 

JustAzim

Новый участник
28 Янв 2021
2
1
38
Пишешь :
npm run build
Команда сгенерит тебе папку в которой будет html файл. Эту папку закидываешь в папку на серваке с где у тебя должен лежать твой cef.
А вместо mp.browsers.new('http://localhost:8080') пишешь mp.browsers.new('путь к тому самому html файлу').
 
Реакции: cheeezzzz

akudinov28

Мастер
24 Фев 2021
378
187
106
Папку с исходниками vue (проект) хранишь в другом месте (не в client_packages). Ибо нафиг не нужна она там. Проект билдишь в client_packages/your_folder. В main.js меняешь new Vue… на window.app = new Vue…, дабы обращаться к экземпляру из клиента. В mp.browsers.new указываешь html файл, который получился после билда (как и советовали выше).
 

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,590
2,749
219
Все будет еще проще если юзать это https://github.com/micaww/rage-rpc
 

Brabus7

Участник портала
14 Окт 2021
32
6
65
Как запустить процесс сборки из другого места? только не говори что нужно написать npm run build.
Функции из сервера не могу передать на клиент.
 

akudinov28

Мастер
24 Фев 2021
378
187
106
Исходники Vue лежат, например, в корневой папке сервера. В конфиге webpack нужно указать, куда билдить проект. Вот там и указываешь что-то типа «../client_packages/web».
Потом из папки, где лежат исходники, нужно запустить npm run build. Если я не ответил на твой вопрос - опиши проблему подробнее.
 

Brabus7

Участник портала
14 Окт 2021
32
6
65
Исходники Vue я выкинул с клиента. Закинул в отдельную папку от сервера. Во Vue пишу код к примеру
Код:
Player: {{  player.name }}
начинаю билдить, получаю файлы в папке "dist". Открываю html захожу в консоль и вижу ошибку - "Cannot read properties of undefined"
 

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,590
2,749
219
Ты в других разделах смотрел темы?

 
Реакции: Brabus7

akudinov28

Мастер
24 Фев 2021
378
187
106
Дык правильно. В CEF нет ни player, ни других объектов. Тебе нужно вызвать CEF из клиента и передать туда нужные данные через browser.execute(). И выше я советовал экземпляр Vue положить в глобальное свойство window.app как раз для того, чтобы из клиента потом обращаться к экземпляру vue. Или, как советует харланд, использовать rpc. С его помощью ты сможешь асинхронно общаться между всеми тремя частями мода (сервером, клиентом и браузером). В документации к rpc все четко расписано. Главное - не забыть сделать require rpc в клиенте, даже если он там тебе не нужен. Ну и в связке vue + rpc ты также не сможешь работать со vue через обычный браузер (не CEF), так как приложение выдаёт ошибки rpc и не загружается. Во всяком случае, у меня так, и я проблему не победил.