[Technical Issue] WebStorm + Node.js не може да дебъгва когато екстендвам Object.prototype
Когато дебъгвам с node.js в WebStorm и ползвам наследяване по този начин
Object.prototype.inherit = function (parent) {
this.prototype = Object.create(parent.prototype);
this.prototype.constructor = this;
};
сторма дава "Cannot stop on breakpoint due to internal error". Във същото време програмата работи коректно - само не може да се дебъгва!
След доста ровене в нета не намерих никой друг с такъв проблем. Също така ако закача скрипта към html и дебъгвам през chrome не само работи, но и се дебъгва без проблем. Явно проблема е в WebStorm и/или node.js.
Някой друг натъкнал ли се е на този проблем?
Ако да - ето до какво решение стигнах - закачваме inherit към Object с defineProperty:
Object.defineProperty(Object.prototype, "inherit", {
value: function (parent) {
this.prototype = Object.create(parent.prototype);
this.prototype.constructor = this;
}
});
По незнайни причини последното се дебъгва нормално в WebStorm дори само с node.js
Да - работи, но както каза RoYaL - грешно е да губим абстракцията по този начин. Явно проблема е в webstorm / node.js но е странно че съществува и че не е отстранен (пробвах го на webstorm 8.0.3 и на 9.0.1, както и с две версии на node.js)
А и по-важното е че има walk-around :)