--i + i++
- это не атомарное выражение. Это (--i) + (i++)
- как раз потому что приоритеты инкремента выше приоритетов сложения. Javascript не вычисляет ничего разом, он вычисляет всё пошагово слева направо. Приоритетность разбивается на токены не снизу вверх, а сверху-вниз. Если два подвыражения с более высоким приоритетом оказались после разбивки слева и справа, то левый выполняется первым, правый вторым, т.к. для выражения с низким приоритетом не важно насколько приоритет подвыражений выше - для него они равноправны. Может быть там вообще не использовать ни Вебпак ни Бабель
package.json
для точку входа указать не main
, а module
и дело с концом. Но а родительский проект тогда поймет, что этот импорт нужно будет дополнительно транспилировать? В нем то бабель используется...
exclude
, чтоб не лез в node_modules
. cli
- для этого есть специальные настройки(transpileDependencies
). this.showParams.apply(this, ...args);
содержит две ошибки:this.showParams
внутри this.showParams
ты поучаешь бесконечную рекурсию, надо сохранить старый this.showParams
в отдельную переменную и вызывать через неё;Function.prototype.apply
принимает вторым аргументом массив, а ты его тут зазря разбираешь.class ExampleClass {
showParams(...args) {
console.log('I have to be calleb');
console.log(...args);
}
}
const exampleInstance = new ExampleClass();
exampleInstance.showParams('one', 'Two', 'Three', 456);
exampleInstance.showParams = (showParamsOld => function(...args){
args.push('Default Argument');
return showParamsOld.apply(this, args);
})(exampleInstance.showParams);
exampleInstance.showParams('one', 'Two', 'Three', 456);
Если ответ "да", то поправь сам.getStyles<T extends keyof CSSStyleDeclaration>(styles: readonly T[]) {
return styles.reduce((res, style) => {
res[style] = this.$nativeElement.style[style];
return res;
}, {} as Pick<CSSStyleDeclaration, T>);
}
CSSStyleDeclaration
. node_modules
лежат собранные готовые пакеты, вам туда лезть не надо.vue-cli
соответствует (очевидно) выбранным опциям. vue-cli
вы можете создать вручную. Или создать совершенно другую структуру. Важна лишь логика в коде, папочки не важны.node_modules
и прописываете их наличие в package.json
. vue-cli
делает это за вас, при выборе опций, но это особенность vue-cli
, а не неотъемлемое свойство npm
пакетов. Settings - Editor - Code Style - HTML - Other > Aligin attributes
Settings - Editor - Code Style > Hard wrap at: <число символов>
либо запретить переносить конкретно html атрибуты: Settings - Editor - Code Style - HTML - Other > Wrap attributes: Do not wrap
UTC
- всемирному координированному времени.new Date()
задаёт дату в часовом поясе системы. (у вас +3 - скорее всего MSK
).UTC
- поменяйте:var newDate = new Date(yyyy, mm, dd, h, m, s);
var newDate = new Date(Date.UTC(yyyy, mm, dd, h, m, s));