Anonymous
я проверял на бат файле
Anonymous
и потом, в такой конструкции, все работает child_process.execFileSync("exefilename_nospace", ["arg space "], { cwd: "...abs path dir...", });
Nikita
дополнение: execFile выдает ошибку с пробелом в аргументе, только когда пробел есть в пути к файлу
$ mv check.sh 'check s p.sh' $ node -e 'require("child_process").execFileSync("./check s p.sh", ["fizz buzz bar", "ignored"]);' $ cat check fizz buzz bar
Nikita
когда пробел в пути есть
Выложи тесткейс в гит, запущу с виртуалки с виндой.
Nikita
И какая версия ноды?
Nikita
v11.6.0
Обновись до 11.10.1, я на более старой из 11 проверять не буду.
Nikita
обновил, тоже самое
Сделай репозиторий со всем для воспроизведения, включая тестовый бат-файл (или что ты запускаешь)
Nikita
Я проверю.
Anonymous
Выложи тесткейс в гит, запущу с виртуалки с виндой.
нету гита у меня. собственно ошибка элементарна. к примеру, имеем файл p e.bat, содержимое которого пустая строка. Так без ошибки child_process.execFileSync("p e.bat", ["arg1"]); так с ошибкой child_process.execFileSync("p e.bat", ["arg 1"]); и в тоже время, если переменовать p e.bat в, к примеру p.bat то child_process.execFileSync("p.bat", ["arg 1"]); выполнится без ошибок
Syntax Highlight Bot
====================================================
Anonymous
<!DOCTYPE html> <html> <head> <title>text</title> </head> <body> <input type="text" id="myText" placeholder="Scrivimi"> <button onclick="myFunction()">test</button> <p id="my"></p> <script> e ='p'; function myFunction() { x =document.getElementById("myText").value; if(x == e) { my(); //e ='t'; document.getElementById("my").innerHTML = 'правильный!'; //app.appendChild(правильный!); } else { document.getElementById("my").innerHTML = 'неправильный!'; } } function my(){ if(x == e) e = 't'; mya(); } function mya(){ if(x == e) e = 'c'; myaj(); } function myaj(){ if(x == e) e = 'u'; } </script> </body> </html> Народ, пожалуйста, помогите почему последняя функция не работает. Я не понимаю, подскажите. Я новичок, я вот недавно научился.
Denis
xml <!DOCTYPE html> <html> <head> <title>text</title> </head> <body> <input type="text" id="myText" placeholder="Scrivimi"> <button onclick="myFunction()">test</button> <p id="my"></p> <script> e ='p'; function myFunction() { x =document.getElementById("myText").value; if(x == e) { my(); //e ='t'; document.getElementById("my").innerHTML = 'правильный!'; //app.appendChild(правильный!); } else { document.getElementById("my").innerHTML = 'неправильный!'; } } function my(){ if(x == e) e = 't'; mya(); } function mya(){ if(x == e) e = 'c'; myaj(); } function myaj(){ if(x == e) e = 'u'; } </script> </body> </html>
Nikita
Секунда.
Denis
У тебя глобальная переменная e
Denis
Ты её постоянно перезаписываешь и скорее всего ошибка из-за этого
Denis
Используй var при объявлении переменных
Nikita
Ты их всех вызываешь по очереди. Получается if (x === e) e = 't'; if (x === e) e = 'c'; if (x === e) e = 'u';
Nikita
Первое выполняется когда исходно x и e были равны. Второе выполняется когда исходно x и e были равны и при этом были равны 't'. Третье выполняется когда исходно x и e были равны и при этом были равны 't' и при этом были равны 'c' . То есть никогда.
Denis
Вот он не JS подсветил сцука
Denis
Может знаешь другую библиотеку для подсветки, Никит?
Anonymous
И как Эту Задачу решать. я еще учусь вы хоть намекните. Использовать что ли ===! Или. var
Denis
Я погуглю канеш. Просто может знаешь хорошую
Nikita
Вот на этот код highlight.js успешно говорит что это жс и подсвечивает его
Nikita
https://github.com/CompuIves/codesandbox-client видели, кстати?
Zhanibek
Ребят а есть чат для начинающих, или тупые вопросы можно и здесь задавать?)
Zhanibek
@js_noobs_ru
Крутое название) спасибо)
//Node js const express = require('express'); const path = require('path'); const execFile = require('child_process').execFile; const port = 1337; var app = express(); app.get('/', function (req, res) { console.log(req.url+"\n", req.query.textik); process.env.STRING = req.query.textik; const child = execFile(path.join(${__dirname}/index.cgi), [], process.env, (er, stdout, stderr) => { if (er) { console.log("er"); console.log(er); } if (stderr) { console.log("stderr"); console.log(stderr); } res.send(stdout); }); }); app.listen(port, function () { console.log(``Example app listening on port ${port}!``); });
Как улучшить? Cgi на плюсах
Danila
как заставить в safari работать tabindex?
krn
как заставить в safari работать tabindex?
By default tab-access is disabled in safari(!). To enable it, check "Preferences > Advanced > Press tab to highlight each item on a page".
Skoomer
всем привет , я хочу начать изучать javascript , подскажите какие видео уроки брать на ютубе (рус)
Alexander
О да, сам с него начинал
Skoomer
понял ,спасибо
Vladimir
не за что
Skoomer
ну и все же какиео видео стоит глянуть ? часто нехватет обьяснения другого человека
Vladimir
а так, на ютубе Web Developer Blog, у него хорошие видео
Skoomer
ооо отлично , + в карму )
Maksim
а что, книги читать не модно теперь?
Skoomer
я так понимаю канала гоша дударь это совсем не то ?
Skoomer
а что, книги читать не модно теперь?
я начну с книги то что мне дали потом буду видео смотреть
Alexander
Ещё полезным советом будет быстрее учить инглиш, потому что все доп. ресурсы в основном за рубежом
David
я начну с книги то что мне дали потом буду видео смотреть
Правильно. learn.javascript.ru все-равно лучше будет. Там все более наглядно.
Anonymous
Хм. У меня это тоже не заработало. А какую ошибку показывает у тебя?
ошибку я не смотрел( у меня там ???? изза кодировки.. лень исправлять). Но я и так примерно знаю что происходит. К примеру при существующем файле p e.bat создай дополнительно файл p.bat со следующим содержанием echo %0 > "log.txt" echo %1 >> "log.txt" echo %2 >> "log.txt" echo %3 >> "log.txt" echo %4 >> "log.txt" echo %5 >> "log.txt" тогда вызов child_process.execFileSync("p e.bat", ["arg 1"]); уже не выдаст ошибку, а результат работы файла p.bat будет таким p e.bat" "arg 1 Режим вывода команд на экран (ECHO) включен. Режим вывода команд на экран (ECHO) включен. Режим вывода команд на экран (ECHO) включен.
Syntax Highlight Bot
====================================================
Nikolai
Коллеги, есть вопрос Есть список из объектов с 2 ключами time1, time2, даты Как мне составить такое сравнение, чтобы они не пересекались вообще пример кода: arr = [...] item = arr[0] const eq = (a, b) => a.time1.getTime() < b.time1.getTime() || a.time2.getTime() && a.time1.getTime() < b.time2.getTime() < a.time2.getTime() var similars = datalist.filter(inner => eq(inner, item)).length
Nikita
@simpleok А без аргумента с пробелом (например, вообще без аргумента) у тебя какой батник запускается?
Nikolai
что ты сделать хочешь? сформулируй лучше
у меня есть список объектов, в них есть поля time1 и time2 У меня есть объект для сравнения, который также имеет поля time1 и time2 Я хочу составить такой eq, чтобы проверить, пересекаются ли эти диапазоны дат
Nikolai
могу дать примеры, если нужно, но вроде понятно объяснил