require
работает на этапе компиляции. Т.е. во время исполнения он уже должен был собрать все вызовы require
и положить их в .js
файл. require
не может быть динамичным, потому что на этапе исполнения его тупо уже нет - он заменён на то, что он возвращает.img
уже сейчас лежат все нужные изображения.require
тебе тут не нужен(и не поможет), просто динамически подставляй пути к ним как в твоём первом варианте.__webpack_public_path__
:root: __webpack_public_path__,
<img :src="root + 'img/' + message.filename" :alt="message.filename"/>
const result = await modal({
title: ...,
type: 'confirm',
acceptText: 'Подтвердить',
...
})
showPopup() {
this.isDialogShown = true;
this.pending = new Promise((resolve) => {
this.discardChanges = () => resolve(false);
this.saveChanges = () => resolve(true);
});
},
async changeTab() {
...
return await this.pending;
}
changeTab() {
return new Promise((resolve) => {
this.discardChanges = () => resolve(false);
this.saveChanges = () => resolve(true);
});
}
prettier
- это одно, eslint
- это другое, если у тебя prettier
подключается через eslint
, то настройки для него указываются скопом, условно так:rules: {
'prettier/prettier': ['warn', {
semi: false,
...
singleQuote: true,
vueIndentScriptAndStyle: true,
arrowParens: 'avoid',
trailingComma: 'none',
quoteProps: 'consistent',
}],
appendChild
у null
". appendChild
в данном месте? document.body
, так? document.body === null
? body
нет на странице. body
нет на странице? body
ещё не прочитан. head
и не ждёт загрузки документа.body
и всё работало, а сейчас wp подключает его в head
, как принято.body
в wp, либо, что лучше, дожидаться в скрипте загрузки документа(DOMContentLoaded
). Math.random
в sort
в любом случае не даст нормального распределения, т.к. под капотом используется определённый оптимизированный алгоритм сортировки, к тому же браузерозаивисимый и разный для разных случаев. sort
ни для чего, кроме его предназначения - детерминированной сортировки.function shuffle( array ) { // Shuffle an array
//
// + original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
for(var j, x, i = array.length; i; j = parseInt(Math.random() * i), x = array[--i], array[i] = array[j], array[j] = x);
return true;
}
о какой рендер функции идет речь?
<template>
.(под капотом <template>
компилируется в render-функцию)setup
, можно класть в свойство render
.script setup,
можно сделать так:<template>
<div>
<render/>
</div>
</template>
<script setup lang="ts">
import { h, useSlots } from 'vue'
const slots = useSlots();
const render = () => {
return h('div', slots.default());
};
</script>