Может быть там вообще не использовать ни Вебпак ни Бабель
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));
const foo = {
bar: 1
};
foo['bar'] // 1
const baz = {
qux: 2
}['qux']; // 2
тайпскрит в работе с типами тут ничем не отличается: type user = {
id: number,
name: string,
};
type id = user['id']; // number
type userKeys = keyof user; // 'id' | 'name'
type userTypes = user[keyof user]; // number | string
тип never
же просто не учитывается: number | string | never
- то же самое что number | string
. some
, если нужен именно map
с остановкой цикла - тут следует использовать for
либо какую-нить либу, которая это умеет.map
там где должен быть прерван цикл или там где не нужно получения нового массива - они говнокодеры.for
там где идеально справился бы map
- вы старпёр, бессмысленно раздувающий и усложняющий код.