oncesk / yii-node-socket

66 stars 46 forks source link

How to register NodeSocketAssets? #55

Open nordkite opened 9 years ago

nordkite commented 9 years ago

Как правильно добавить скрипты в Yii2? Прочитал Depricated in Yii 2.0 - The Asset Manager registers the files on demand. Но не совсем понятно на этом этапе.

Имеется ввиду, что нужно добавить в контроллер view use app\assets\NodeJsAsset; NodeJsAsset::register($this); ?

oncesk commented 9 years ago

Так

  1. Из web.php конфига убирать не надо пусть будет, может вам придется во время запроса что то отправлять клиентам
  2. Файл лога не создается так как прав нет на создание файла, это правится в конфигурации компонента там есть проперти в котором можно задать путь к лог файлу и логи туда будут писаться, файл создаться автоматом, можно в рантайм путь указать
  3. По поводу ассетов в yii2 не понял вопрос, сам на yii2 не писал) спросите у сообщества, но дуиаю тут все просто нужно задать зависимости еслм такие есть и перечилить js,css, как подключить что бы появилось на странице смлтрите доку по yii, еще можете глянуть сам компонент yii-node-socket там метод есть который регестрирует скрипты

Отправлено с моего Xiaomi

Сообщение от "KirillRyzhkov notifications@github.com":

Как правильно добавить скрипты в Yii2? Прочитал Depricated in Yii 2.0 - The Asset Manager registers the files on demand. Но не совсем понятно на этом этапе.

Имеется ввиду, что нужно добавить в контроллер view use app\assets\NodeJsAsset; NodeJsAsset::register($this); ?

— Reply to this email directly or view it on GitHub.

oncesk commented 9 years ago

И зарегать нод сокет скрипты можно через

Yii:app->nodeSocket->registerClientScripts()

Помоему в документации это есть

Отправлено с моего Xiaomi

Сообщение от "KirillRyzhkov notifications@github.com":

Как правильно добавить скрипты в Yii2? Прочитал Depricated in Yii 2.0 - The Asset Manager registers the files on demand. Но не совсем понятно на этом этапе.

Имеется ввиду, что нужно добавить в контроллер view use app\assets\NodeJsAsset; NodeJsAsset::register($this); ?

— Reply to this email directly or view it on GitHub.

nordkite commented 9 years ago

Как зарегать скрипты в Yii2 я знаю, только какие скрипты мне нужно регистрировать не совсем понятно. Только этот /yii2test/vendor/oncesk/yii-node-socket/lib/js/client/client.js, а потом использовать var socket = new YiiNodeSocket();?

Yii:app->nodeSocket->registerClientScripts() в документации есть, но Вы ведь написали Depricated in Yii 2.0 - The Asset Manager registers the files on demand.

oncesk commented 9 years ago

Там еще один нужно

/socket.io/socket.io.js

Посмотрите пакет ассетов

Отправлено с моего Xiaomi

Сообщение от "KirillRyzhkov notifications@github.com":

Как зарегать скрипты в Yii2 я знаю, только какие скрипты мне нужно регистрировать не совсем понятно. Только этот /yii2test/vendor/oncesk/yii-node-socket/lib/js/client/client.js, а потом использовать var socket = new YiiNodeSocket();?

Yii:app->nodeSocket->registerClientScripts() в документации есть, но Вы ведь написали Depricated in Yii 2.0 - The Asset Manager registers the files on demand.

— Reply to this email directly or view it on GitHub.

nordkite commented 9 years ago

Скрипты вроде получилось зарегистрировать use YiiNodeSocket\Assets\NodeSocketAssets; NodeSocketAssets::register($this);

Но теперь не могу разобраться с портом. У меня сайт на localhost размещен на workspace.local/yii2test . В консоле появляется такая ошибка, а client.js загружается нормально. GET http://workspace.local/yii2test:3001/socket.io/socket.io.js 404

Можете подсказать, что нужно исправить? в config/web.php у меня 'host' => 'workspace.local/yii2test', 'allowedServerAddresses' => [ "localhost", "127.0.0.1" ],

oncesk commented 9 years ago

Гм, во первых порт прописывается до ури

Можете попробовать host

workspace.local

Если в консольно конфиге такой хост и порт к примуре 3003 То в браузере должен конектится по

workspace.local:3003/socket.io/socket.io.js

Хост в конфигурации должен быть доменом или айпи адресом без ури тобиш

workspace.local

И все должно заработать, только НЕ ЗАБУДЬТЕ ПОЧИСТИТЬ АССЕТЫ

Отправлено с моего Xiaomi

Сообщение от "KirillRyzhkov notifications@github.com":

Скрипты вроде получилось зарегистрировать use YiiNodeSocket\Assets\NodeSocketAssets; NodeSocketAssets::register($this);

Но теперь не могу разобраться с портом. У меня сайте на localhost размещен на workspace.local/yii2test . В консоле появляется такая ошибка, а client.js загружается нормально. GET http://workspace.local/yii2test:3001/socket.io/socket.io.js 404

Можете подсказать, что нужно исправить? в config/web.php у меня 'host' => 'workspace.local/yii2test', 'allowedServerAddresses' => [ "localhost", "127.0.0.1" ],

— Reply to this email directly or view it on GitHub.

nordkite commented 9 years ago

Спасибо, workspace.local:3001/socket.io/socket.io.js работает. А что Вы имели ввиду под Не забудьте почистить ассеты? Еще один вопрос насчет строчки socket = io.connect('http://localhost:3001/client'); в client.js . Ее нужно менять?

oncesk commented 9 years ago

Здорово) client.js должен собираться из client.template.js каждый раз как вы перезапускаете сервер, но так как ассеты копируются в yii раз то может быть ситуация как будто джс не обновляетсЯ, тогда нужно удалить ассеты что бы заново все записалось, в первой версии yii была такая проблема, во второй не знаю как и что там)

Можете поменять вручную)

Отправлено с моего Xiaomi

Сообщение от "KirillRyzhkov notifications@github.com":

Спасибо, workspace.local:3001/socket.io/socket.io.js работает. А что Вы имели ввиду под Не забудьте почистить ассеты? Еще один вопрос насчет строчки socket = io.connect('http://localhost:3001/client'); в client.js . Ее нужно менять?

— Reply to this email directly or view it on GitHub.