Софтуерно Инженерство
Loading...
velkov.ivailo avatar velkov.ivailo 16 Точки

[Techical Issue] JS OOP - Webstorm JS Debug

Здравейте! 

Някой може ли да ми обясни как да си настроя webstorm дебъгера да работи по подобен начин като на Наков когато решава първата подготовка за изпит. Искам да мога да подам входни данни и да обхождам стъпка по стъпка. Вече втори ден го мъча, но не успявам да го направа.

Благодаря.

Тагове:
3
JavaScript Advanced 10/11/2014 10:15:48
gngeorgiev avatar gngeorgiev 90 Точки

Защо просто не ползвате Chrome Developer Tools a.k.a браузъра Chrome, като повечето хора?


Ако ще дебъгвате NodeJS си свалете node-inspector - https://github.com/node-inspector/node-inspector

1
10/11/2014 13:39:24
velkov.ivailo avatar velkov.ivailo 16 Точки

Когато си отворя JS файлът през Chrome Dev Tools и използвам конзолата за някакви input данни ми изписва 'SyntaxError: Unexpected identifier'. Може ли да разясниш как да дебъгна solution-а на примерната задача за изпит през Chrome Dev Tools ?

1
gngeorgiev avatar gngeorgiev 90 Точки

Най-простото е да си направиш един .html файл, който ще ти зареди .js файла и ще ти позволи да си го дебъгваш като си отвориш html-а в браузъра.

Другия начин е да свалиш node-inspector и от терминала(конзолата) да си екзекютнеш директно .js файла - 

`$ node-debug file.js`

Това ще ти отвори прозорец в хром, но там си в NodeJS среда.

 

П.С. Unexpected Identified е грешка в синтаксиса, следователно ти си я допуснал, виж къде е и си я оправи. Хром е достатъчно добър да те опъти.

1
10/11/2014 14:22:22
velkov.ivailo avatar velkov.ivailo 16 Точки

Когато го отворя през Node-Inspector или през Chrome dev tools и въведа в конзолата 'create House houseBankya 206 Bankya true 3', както ни е дадено в input-a си ми казва 'SyntaxError: Unexpected identifier'. Може ли да ми разясниш къде точно да подам входните данни ?

 

0
gngeorgiev avatar gngeorgiev 90 Точки

Първо, сърдечно ти препоръчвам да изгледаш пак релевантните лекций, защото май някой неща ти обягват. След това можеш да погледнеш как е имплементирано четенето от конзолата:

`

(function() {
var arr = [];
if (typeof (require) == 'function') {
// We are in node.js --> read the console input and process it
require('readline').createInterface({
input: process.stdin,
output: process.stdout
}).on('line', function(line) {
arr.push(line);
}).on('close', function() {
console.log(processEstatesAgencyCommands(arr));
});
}
})();

`

Този метод работи само при ОС конзолата, когато пускаш скрипта с `$ node script.js`. Когато искаш да дебъгваш в хром очевидно трябва да подадеш масив с редове на processEstatesAgencyCommands функцията. 

 

Поздрави.

1