Alexander
админы, надо такое?
Alexander
и даже развесистые схемы пишутся довольно кратко
A
привет
A
как req.locals. назначить?
A
отбой
A
не тот express стоит
Aler
@silent_banofbot
Cheslav
подскажите почему не работает
Cheslav
Cheslav
Aler
CORS не настроены
Cheslav
Cheslav
вроде до этого эта либа cors отключала
Aler
покажи инклуд cors
Aler
что это за модуль
Aler
cors который?
Cheslav
https://www.npmjs.com/package/cors
Cheslav
fuf
Cheslav
ага*
Aler
покажи еще как создаешь на стороне сервера сокет
Aler
я давно с express и сокет.ио разбирался, но сейчас вспомню, что не так)
Cheslav
было бы круто)
Cheslav
сверху скрин
Cheslav
второй
Cheslav
самое простое
Cheslav
дальше пока не могу уйти)
Aler
я имею ввиду в ноде, а не на клиенте
Aler
io.set('origins', '*:*');
Aler
просто скорее всего у тебя io работает отдельно от express
Cheslav
там каша уже, все что можно добавлял
Cheslav
var cors = require('cors');
const open = require('open');
const socket = require('socket.io');
var app = express();
var corsOptions = {
origin: 'http://localhost:3000',
optionsSuccessStatus: 200 // some legacy browsers (IE11, various SmartTVs) choke on 204
};
app.use(cors(corsOptions));
var http = require('http').Server(app);
// const io = socket(http);
var io = require('socket.io')(http, { origins: '*:*'});
io.set('origins', '*:*');
io.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
Cheslav
остальное все от экспрес генератора
Aler
ну и наворотил)
попробуй убрать сначала все cors. Из app.use, из require('socket.io') и из io.set
Aler
оставь вот так:
var io = require('socket.io')(http);
io.set('origins', '*:*');
Aler
и почему у тебя путаница с 3001 и 3000 портом?
Cheslav
ну на 3000 клиент а на 3001 нода
Aler
понял, попробуй как написал, должен принять запрос
Cheslav
нет(
Aler
хотя он еще и 404 возвращает, так что может проблема и не в CORS..
Aler
ничего не изменилось, да?
Cheslav
угу
Aler
а какая версия экспресса?
Cheslav
"express": "~4.14.1",
Aler
вроде просто правильно все..
Aler
а много еще всего в проекте?
Aler
попробуй создать app2.js и оставить в нем только эти строки
Aler
может проблема где-то еще)
Cheslav
да говорю, только сгенерил через express generator)
Cheslav
чистый проект)
Cheslav
а с клиента же все правильно уходит?
Cheslav
<script src="https://cdn.socket.io/socket.io-1.3.5.js"></script>
<script>
var socket = io('http://localhost:3001');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
Aler
проверил только что у себя
Aler
все ок
Aler
у меня пришло
Aler
конфигурация как и у тебя - вью отдельно, нода отдельно
Aler
ааа бля
Aler
io.connect()
Aler
на вью
Aler
хотя у меня и без connect пашет
Aler
https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.7.3/socket.io.min.js у меня сокет посвежее
Aler
"dependencies": {
"express": "^4.15.2",
"socket.io": "^1.7.3"
}
Aler
в депах так
Cheslav
там что то из за экспресса было)
Cheslav
убрал все лишнее, только что в доках поставил, вроде заработало)
AlexMist
Как функция правильно называется которая массив вида
[ { key: 'foo', value: 'value1 }, { key: 'foo', value: 'value2 } ]
приведёт к виду
{ foo: ['value1', 'value2'] }
lodash например )
AlexMist
Сернёт по ключу
AlexMist
нет, думаю таких много
Eugene
AlexMist
Да точно
Eugene
функция называется groupBy
Sergey
Eugene
это функция lodash
Anonymous
как сильно не переписывая приложение можно заменить сессии через куки токеном?
Anonymous
так чтоб куки даже не пытались записываться в браузер
Anonymous
все юзают сессию исключительно через куки?
Anonymous
а как же мобильные приложения?
AlexMist
Как функция правильно называется которая массив вида
[ { key: 'foo', value: 'value1 }, { key: 'foo', value: 'value2 } ]
приведёт к виду
{ foo: ['value1', 'value2'] }
lodash например )
Nikolay
keyBy?
Nikolay
Не, не то :)
Oleg
/stat@combot