Dmitriy
Sergey
Не вышло
как отправляешь?
что именно показывает
мб у тебя там результат какой-то
Sergey
или подвисло что
Sergey
под вендой?
Dmitriy
Под убунтой
Dmitriy
const devServer = spawn('npm', ['run', 'dev'], { cwd: path, detached: true });
ipcRenderer.send('server-pid', devServer.pid);
Дальше я pid принимаю
const ps = require('ps-node');
ps.kill(serverPid, 'SIGTERM', function(err) {
if (err) {
throw new Error(err);
} else {
console.log('Process %s has been killed without a clean-up!', pid);
}
});
Sergey
ошибок нет?
Dmitriy
Не возникает
Dmitriy
Но в консоль плюет немного другой вывод
Dmitriy
Dmitriy
Но финт в том, что я потом убиваю вручную этот процесс и у него pid другой
Sergey
блин
Sergey
ну да
Sergey
ты через npm создаешь процесс NPM
Sergey
а там внутри запускается таска
Sergey
если есть ещё таска то ещё процесс
Sergey
и уже ПОТОМ express
Dmitriy
А
Dmitriy
Аа
Sergey
есть решение писать pid в файлик при запуске
Dmitriy
Так...
Sergey
некоторые ruby-сервисы так делают
Sergey
и кикать его по это pid'у
Sergey
а можно обойтись без npm тасок
Dmitriy
Да, я без npm-a обойдусь
Dmitriy
Понятно почему он без detached не умирал тоже
Dmitriy
Спасибо большое)
Nikolay
Так никто и не обещал, что он будет про иммутабельность.
Nikolay
А как дополнительная защита от выстрела в ногу, — консты вполне норм.
Дима
Это вторая стадия
Дима
Третья — бесит даже let
Дима
Нет, бесит, потому что это не const 😄
Дима
Это просто небольшой разрыв шаблона от критически неудачного названия — const. Просто надо понять и простить глупых авторов языка 😄 И принять, что это константая ссылочная целостность
Дима
А не замороженный объект. Просто у меня например в основном многие данные расцениваются как иммутабельные, чисто в голове, то есть явно я не трогаю свойства объекта. Поэтому остаётся контроль того, что ты не перезаписываешь ссылку
Dima
А какое хорошее название, например?)
Дима
😂
Дима
Sweet js к твоим услугам))
Дима
Меня кстати дико парит, что объекты классов не могут быть функциями (без хаков). Вот в этом классы прям реально НЕ ОЧЕНЬ
Denis
а че классы то не нравяца?
Дима
Ну это у тебя уже классика, прототипы — это классы для бедных / классы — это прототипы для бедных
Nikolay
Классы в js ацтой, +1
Дима
Ну прототипы и сейчас есть)
Дима
Просто классы — это зачастую более компактный синтаксис
Denis
Denis
а остальную реализацию думаю подтянут в новых спецификациях
Sheldhur
помогите с ещё немного с sequelize
Sheldhur
делаю как в доках
db.DataSet.findOrCreate({
where: {name: item.name},
defaults: {
name: item.name,
si: item.si,
}
}).spread((dataSet, created) => {
console.log(dataSet.get({
plain: true
}));
console.log(created.id);
});
Sheldhur
говорит Uncaught (in promise) TypeError: db.DataSet.findOrCreate(...).spread is not a function
Sheldhur
http://docs.sequelizejs.com/en/latest/docs/models-usage/#findorcreate-search-for-a-specific-element-or-create-it-if-not-available
Sheldhur
хз, видимо что-то из bluebird
Sheldhur
пробовал .then((dataSet, created) => {}) возвращает обекты, но я не могу получить id
Sheldhur
нет
Sheldhur
ручками что ли писать?
Sheldhur
нахер тогда этот метод, если он не позваляет получить ни id вставленного, ни id найденного
Sheldhur
dataSet[0].id
Sheldhur
допер
Sheldhur
а created тогда нахрен? он всё время undefined
Sheldhur
неа, только что проверил
Sheldhur
мб это особенность для какой-то другой субд
Sheldhur
у меня sqlite
Sheldhur
думаю ставить pg для десктопного приложения это перебор :)
Sheldhur
электрон периодически вываливает DataSet: Cannot call function 'query' on missing remote object 981
Error: Cannot call function 'query' on missing remote object 981
at throwRPCError (C:\Users\Sheldhur\WebstormProjects\Vector\node_modules\electron\dist\resources\electron.asar\browser\rpc-server.js:145:17)
at EventEmitter.<anonymous> (C:\Users\Sheldhur\WebstormProjects\Vector\node_modules\electron\dist\resources\electron.asar\browser\rpc-server.js:363:7)
at emitMany (events.js:127:13)
at EventEmitter.emit (events.js:201:7)
at WebContents.<anonymous> (C:\Users\Sheldhur\WebstormProjects\Vector\node_modules\electron\dist\resources\electron.asar\browser\api\web-contents.js:249:37)
at emitTwo (events.js:106:13)
at WebContents.emit (events.js:191:7)
Sheldhur
как с этим бороться?
Evgeny
не по дефолту. очень не по дефолту
Dmitrii
У кого-нибудь есть на примете статья или простой пример, как скрестить приложение на ноде и webpack?
Denis
https://github.com/axept/prejss-example-app/blob/master/src/server.js#L49
Dmitrii
Спасибо
Sergey
Кто там спрашивал как отлаживать ноду и электрон нормально?
Sergey
Юзайте на здоровье npmjs.com/devtool
Sergey
Andrey
В вебшторме тоже ок, даже лучше
Завтра
Хм, может, вебшторм поставить снова 🌚
Завтра
Не, не хочу 🌑
Дима
В vs code так же можно отлаживать
Завтра
Дима
Нормальные пацаны юзают sed
Ale
Node.js releases
Node v7.8.0 (Current)
https://nodejs.org/en/blog/release/v7.8.0
Alex
День добрый, может кто подсказать по запросам на скулю? Если в кратце, в цикле вызывается функция в которую передается 2 параметра (имя, меил), в этой функции открывается соединение, и выполняется запрос ( select), на проверку наличия таких данных уже, далее проверяется recordset на количество записей, если их больше 0 то закрывается соединение просто, если их нет. то выполняется insert с 2 парметрами и после соединения закрывается. Но тут сталкиваюсь с траблом, что он не кладет данные на скулю сразу же, по этому при первой загрузке, дублирующие данные бывают. Вопрос. как можно это пофиксить, и заставлять его отдавать данные на скулю сразу?