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

Вопрос Импорт пакетов на клиенте

dooj

Гуру
FrontEnd developer
24 Мар 2022
480
133
120
Что ты несешь? Покажи мне, где ты этому научился или прочитал?
На что упираясь такие выводы? Каким образом Rage мешает делать require или import?

Расскажи мне, как делают билд проектов с вебпаком?
 

dooj

Гуру
FrontEnd developer
24 Мар 2022
480
133
120
Как может относительный путь функции require, которая принадлежит JS, ссылаться на другой относительный путь? Если это не зависимость или еще что-либо?
Полная чушь.

Единственное, где ссылается на относительный путь client_packages, это при объявлении браузера, т.к. это не нативная функция, а функция rage-c.
 

dooj

Гуру
FrontEnd developer
24 Мар 2022
480
133
120
Еще раз повторю, вытаскивать что-либо из node_modules - костыль. Посмотрим когда у тебя будут десятки зависимостей (а они будут), на твой вес проекта, на гите.
 

vpn

Начинающий специалист
29 Май 2022
124
50
85
"Закаменел будто каменный камень" - Это про тебя моргенштерн строчку написал?

Зачем ты мне показываешь что ты сделал require на свои файлы?
Ты с npm node-модулями вообще знаком?

Вижу у тебя есть package.json, это уже хорошо..
Теперь делай "npm i mysql2" и делай "require" на модуль из папки "node_modules".
Подключи БД на клиентской части, и скидывай результат.

То-что ты сумел подключить самописные файлы это очень круто, но тут другая ситуация.
 

dooj

Гуру
FrontEnd developer
24 Мар 2022
480
133
120
Пару часов назад ты обобщил, написав что нельзя использовать require на Rage.
К этому сообщению я и написал
 

dooj

Гуру
FrontEnd developer
24 Мар 2022
480
133
120
«Он пытается node-модуль как я понимаю воткнуть, а на RAGE так нельзя.»

Не твои ли слова?
 

dooj

Гуру
FrontEnd developer
24 Мар 2022
480
133
120
Я понял о чем ты говоришь и что имел ввиду, если ты к этому.
Ответ был на обобщенное сообщение, с посылом на то, что на Rage нельзя импортировать модули.
 

vpn

Начинающий специалист
29 Май 2022
124
50
85
Ну я совместил его код, и скриншот который он скинул (Клиентская ошибка).
Так-что какая тема такой и ответ.
 

akudinov28

Мастер
24 Фев 2021
382
189
106
Причём тут билд вебпаком? Сейчас бы показывать require не напрямую на клиенте, а в своей папке src, которая, как я подозреваю, как раз билдится у тебя. Я тебе уже привел выше последовательность действий, которую ты можешь воспроизвести и посмотреть, как клиентская часть отказывается реквайрить файл, который лежит в той же вложенной папке, через относительный путь ./

Никто не говорил про использование зависимостей и импорт/экспорт с помощью сборщика, который, зачастую, пакует весь код в один выходной файл, который ты и подключаешь на клиенте. Разговор шёл конкретно про использование require напрямую в клиентской части.

P.S. Мы ему про мягкое, он нам про тёплое.
 

X-Clusiv

Модератор
Команда форума
Moderator
BackEnd developer
4 Окт 2020
708
319
161
30

Все прекрасно подключается.
Для того чтобы использовать какую-либо библиотеку на клиенте. Вам нужно залить её на клиент(client_packages);
Либо писать модуль, отдельно от клиентской части, воспользоваться каким либо сборщиком например webpack и подключать бандл.
 
Реакции: dooj

X-Clusiv

Модератор
Команда форума
Moderator
BackEnd developer
4 Окт 2020
708
319
161
30
И вообще. Вкурсе что

stream​

Это библиотека для nodeJS а на клиенте точно не nodeJS...
 

akudinov28

Мастер
24 Фев 2021
382
189
106
Ну конечно подключается, ведь ты реквайришь в index.js.
Разговор идёт о том, что имея такую файловую структуру...
JavaScript:
client_packages
--folder1
-- --folder2
-- -- --test1.js
-- -- --test2.js
...и попытавшись в файле test1.js подключить файл test2.js с помощью относительного пути ./ require('./test2.js') (что по логике должно работать, ведь ./ ссылается на ту же директорию), клиентская часть выкинет ошибку. И поэтому я говорю, что подключение файлов в клиентской части ragemp должно всегда начинаться с пути client_packages. То есть, в примере выше, успешно сработает код require('./folder1/folder2/test2.js');

Понятно, что можно использовать сборщики, можно закинуть зависимость напрямую в client_packages, и использовать её оттуда, но речь шла немного не о том.

Что касается изначального вопроса топик стартера, то объяснять ему сейчас про использование сборщика на клиенте - дело неблагодарное, потому товарищ vpn посоветовал автору закинуть его зависимость в папку client_packages, а я уточнил про использование относительных путей на клиенте.
 

Kole so

Новый участник
14 Окт 2022
12
0
3
И вообще. Вкурсе что

stream​

Это библиотека для nodeJS а на клиенте точно не nodeJS...
Я думал NodeJS с обоих сторон, и на сервере и на клиенте.

Еще 1 не большой вопрос, не стоящий отдельной темы...
Когда через 'new' создается class(обьект), то как происходит выделение оперативной памяти для его методов?
Т.е. если я создам для каждого игрока экземпляр класса с методами, то будут ли эти методы дублироваться в ОЗУ?
 

X-Clusiv

Модератор
Команда форума
Moderator
BackEnd developer
4 Окт 2020
708
319
161
30
Конечно будут. Ты же создаешь экземпляр, в следствии этого выделяется память. Но тут ничего критичного. Главное после выхода пользователя не забывай чистить лишний мусор
 
Реакции: lurkmorr228

lurkmorr228

Участник портала
7 Май 2022
26
7
38
методы лежат в прототипе и не создаются каждый раз, просто вызываются с разным контекстом.
Чтобы создать новый метод, нужно в конструкторе прописать
JavaScript:
this.method = this.method.bind(this)



 
Последнее редактирование:

lurkmorr228

Участник портала
7 Май 2022
26
7
38
как получить лейбл хай кодер?
 

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,590
2,749
219
как получить лейбл хай кодер?
 
Реакции: lurkmorr228

lmklde

Активный участник
BackEnd developer
1 Мар 2021
75
44
80
У вас эта плашка должна называться хай хелпер, а не хай кодер)
 
Реакции: Harland David Sanders

lmklde

Активный участник
BackEnd developer
1 Мар 2021
75
44
80
Сорри, но по факту, я думал мне предложат задание какое-то тестовое пройти на знание кода или что-то в таком духе, а там - "выложите полезные ресурсы или мануалы"
(http://imgur.com/a/6OaDmzH)