Refused to apply style from 'https://localhost:3000/css/desctop/main_d.css.css%22%3E' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.Understand this errorAI
'https://localhost:3000/css/desctop/main_d.css.css%22%3E'
main_d.css.css%22%3E
res.send(`https://localhost:3000/css/desctop/${base}">`)
`https://localhost:3000/css/desctop/${base}">`
${base}">
">
">
из-за чего ссылка ведёт никуда, из-за чего сервер возвращает 404 страницу, которая html. Все пакеты связанные с babel обновил до последних версий
babel-core
- старая версия семилетней давности, новая живёт тут: @babel/core.const nodeExternals = require('webpack-node-externals');
{
// ...
externals: [nodeExternals()],
}
script
с нужным содержимым. Примерно так: function runInScript() {
// здесь везь код, независимый от иных функций
document.loremipsum()
}
document.head.append(
Object.assign(
document.createElement('script'),
{
innerHTML: `(${runInScript.toString()})()`,
onload() { this.remove() }
}
)
);
position: sticky
в css, который именно для этого и предусмотрен, нельзя, то сделай так чтоб было можно. Потому что это единственный реально адекватный вариант, а какие-то там проблемы с твоим overflow
- это твой косяк, который и надо решать.sticky
- это решали хитрой вёрсткой, где "на самом деле" никакая позиция не меняется, а fixed
(а ещё раньше absolute
) дубликат элемента показывали\скрывали по условию.requestAnimationFrame
и getBoundingClientRect
, не привязываясь к событию scroll, но не пробовал ибо не нужно. function lazyAsync(lib) {
let promise;
return async function (...args) {
promise ??= lib();
return (await promise).call(this, ...args);
};
}
const doSomething = lazyAsync(async () => {
// тут загружаем
const doSomething = await loadLib('doSomething');
// тут что-то делаем с загруженным
// тут возвращаем конечную функцию
return data => {
// тут делаем с аргументами
return doSomething.process(imgData);
};
});
// если сразу загружается нужная функция - можно не усложнять
const doSomething = lazyAsync(loadDoSomethingProcess);
await doSomething(1);
await doSomething(2);
await doSomething(3);
function removeSomeShit(arr) {
const table = {};
const result = [];
for(const current of arr) {
const {uid, owner, createdAt} = current;
const uidOvnerKey = `${uid}\0${owner}`;
const ownerUidKey = `${owner}\0${uid}`;
const matched = table[uidOvnerKey];
if (matched) {
delete table[uidOvnerKey];
result.push(matched.createdAt > createdAt ? matched : current);
} else {
table[ownerUidKey] = current;
}
};
return Object.values(table).concat(result);
}