• Загрузка на хостинг содержимого папки webpack. Как?

    Aetae
    @Aetae
    По идее не должно быть никакой папки webpack, только папка dist\build в которой html, css и js, которые и надо закинуть.
    Но, конечно, сборку можно настроить как угодно.
    Написано
  • Почему localStorage работает только для 1-го или 2х элементов?

    Aetae
    @Aetae Куратор тега Vue.js
    Чего ты добиться то хочешь?
    Вот переписал по-нормальному твой код:
    export const useStore = defineStore("Stores", () => {
      const Json = reactive([
        {
          id: 1,
          value: 0,
          addPlus(id) {
            this.value = this.value + 1;
          },
          addMinus(id) {
            if (this.value > 0) {
              this.value = this.value - 1;
            }
          },
          image: "../img/juice_Ides.png",
          quantity: "В наличии 5 шт",
          name: "Хлеб Крестянский, 400г",
          price: "56",
          currency: "руб",
          basket: "В корзину",
          descr:
          "Мука пшеничная хлебопекарная первого сорта, вода, мука ржаная хлебопекарная сеяная, сахар-песок, соль поваренная пищевая, солод ржаной, экстракт солодовый.",
        },
        {
          id: 2,
          value: 0,
          addPlus(id) {
            this.value = this.value + 1;
          },
          addMinus(id) {
            if (this.value > 0) {
              this.value = this.value - 1;
            }
          },
          image: "../img/bread.png",
          quantity: "В наличии 3 шт",
          name: "Белый хлеб, 400г",
          price: "59",
          currency: "руб",
          basket: "В корзину",
          descr: "Белый хлеб",
        }
    
      ]);
    
      const Store = JSON.parse(localStorage.getItem("Json") ?? '{}');
    
      Json.forEach((item) => {
        if(Store[item.id] !== item.value) 
          item.value = Store[item.id];
      });
    
      watch(
        Json,
        (state) => localStorage.setItem("Json", JSON.stringify(
          // сохраняем мы объетк вида {id: value}, потому что индексы в массиве нифига не надёжны
          state.reduce((acc, item) => { 
            acc[item.id] = item.value;
            return acc;
          }, {})
        )),
        { deep: true }
      );
      return {
        Json,
      };
    });

    Только если в твой Json массив внезапно добавят значений в процессе работы, то в localStorage запишутся только значения value. При перезагрузке естественно в массиве будет только то, что ты туда положил. Мб надо сохранять весь массив а не только value?.. Хз.
    Написано
  • В чем проблема в пути до файла?

    Aetae
    @Aetae Куратор тега JavaScript
    Упустил что нужен сервер.
    preview it locally with npx serve .output/public
    Нет смысла мучаться с "файловым" вариантом, если конечно не стоит какая-то мега-цель. Это потребует серьёзной ручной переработки, с которой никто вам не поможет потому что нафиг никому не надо.

    Если очень нужны локально-работающие файлы - вижу только один вариант без лишних страданий: засервить вышеуказанным способом, а затем направить на этот сервер какой-нить софт для выкачивания локальной копии сайтов, который сам с этим делом разберётся. Но без гарантий.:)
    Написано
  • Почему window хранит в себе переменные, но не делает их ссылками внутри себя?

    Aetae
    @Aetae Куратор тега JavaScript
    Boris007, ну в том и суть что let, как и const в window не пишет, даже будучи "глобально" объявленной, только "старый" var. По сути это логично, window это не скоуп, то что var в него пишет - это одно из "удобств и дружелюбности для новичков" которые были заложены в изначальную идею js, но со становлением всё более "серьёзным" языком утратили своё значение.
    Написано
  • Почему window хранит в себе переменные, но не делает их ссылками внутри себя?

    Aetae
    @Aetae Куратор тега JavaScript
    Вот так твой код заработает:
    var q = 0
    
    function foo(x) {
      this[x]++
    }
    
    console.log(window.q)
    
    console.log(q)
    
    function go(cb) {
      cb()
    }
    
    go(foo.bind(window, 'q'))
    
    console.log(q)


    Сравни на отличия, попытайся сам понять почему нужно каждое из них, и только потом спроси если не получится понять.
    Написано
  • Почему компонент не виден в React приложении?

    Aetae
    @Aetae
    Мб портал, а мб просто компоненты есть, но они возвращают null вместо разметки а потому в dom ничего нет.
    Хз, надо смотреть руками как девтулзы реакта с этим работают.
    Написано
  • Возможно ли авторизоваться если злоумышенник получит чужие куки?

    Aetae
    @Aetae
    video12, пароль защищают капчей от брутфорса, сбрутить куку у вас врядли выйдет, т.к. она обычно куда длиннее пароля, при том что живёт меньше и ещё дополнительно завязана на какие-то скорее всего неизвестные параметры.
    Написано
  • Как исправить ошибки рендера при использовании Nextjs и MUI?

    Aetae
    @Aetae
    Ну так тебе написано в чём проблема, осталось взять лупу и сравнивать.
    Написано
  • Как динамически передавать методы или переменные в компонент который рэндерится через v-for?

    Aetae
    @Aetae Куратор тега Vue.js
    Максим js, всмысле, блин? Ты сам ставишь null по умолчанию, до тех пор как не словишь событие из swiper. Ты не можешь передать то чего нет.
    Опиши задачу подробнее, а то, чую, сейчас нагородишь огород.
    Написано
  • Можно ли сделать исключения для npm i?

    Aetae
    @Aetae
    kablihin, если прям недопустимо, то чтоб наверняка:
    а) Сделать отдельный package.json для прода.
    б) Исползовать npmrc и завести свой репозиторий, в котором полностью контролировать доступные пакеты.
    Написано
  • Почему Bluebird кидает предупреждение Unhandled rejection Error?

    Aetae
    @Aetae Куратор тега JavaScript
    karpo518,
    Вот те код: 1 к 1 как ты пишешь:
    const validateNotEmpty = val => {
      try {
        if (!val) { 
          throw new Error();
        }
      }
      catch(e) {
        throw e;
      }
    }
    
    
    class Oppa {
      rules = [
        validateNotEmpty
      ];
    
      idisuda = true;
    
      getCheckData() {
        return this.idisuda;
      }
    
      constructor() {
        this.checkError = ()=> {
          const checkData = this.getCheckData();
          for (let rule of this.rules) {
            try {
              rule(checkData);
            }
            catch (e) {
              return e;
            }
          }
          return null;
        };
    
        this.updateCheckingState = ()=> {
          this.error = this.checkError();
          this.cleared = false;
          this.checked = true;
          return this;
        };
      }
    }
    
    const nuka = new Oppa();
      
    nuka.idisuda = true;
    nuka.updateCheckingState()
    console.log('getCheckData', nuka.idisuda,'isError', nuka.error instanceof Error)
    nuka.updateCheckingState()
    console.log('getCheckData', nuka.idisuda,'isError', nuka.error instanceof Error)
    nuka.updateCheckingState()
    console.log('getCheckData', nuka.idisuda,'isError', nuka.error instanceof Error)
      
    nuka.idisuda = false;
    nuka.updateCheckingState()
    console.log('getCheckData', nuka.idisuda,'isError', nuka.error instanceof Error)
    nuka.updateCheckingState()
    console.log('getCheckData', nuka.idisuda,'isError', nuka.error instanceof Error)
    nuka.updateCheckingState()
    console.log('getCheckData', nuka.idisuda,'isError', nuka.error instanceof Error)

    Внезапно никаких "Unhandled rejection Error ".

    Проблема, очевидно, в другом месте. Что за Validator, откуда, куда?
    Написано
  • Почему Bluebird кидает предупреждение Unhandled rejection Error?

    Aetae
    @Aetae Куратор тега JavaScript
    karpo518, точно подобных? Можно весь массив?
    Написано
  • Почему Bluebird кидает предупреждение Unhandled rejection Error?

    Aetae
    @Aetae Куратор тега JavaScript
    karpo518, ну значит моё гадание на кофейной гуще провалилось. Нужно больше данных.
    Написано
  • Почему Bluebird кидает предупреждение Unhandled rejection Error?

    Aetae
    @Aetae Куратор тега JavaScript
    Мало данных, совершенно непонятно что у вас в this.rules, на какой именно строчке возникает ошибка и т.д.

    Могу только предположить, что rule у вас это промис, тогда его надо дождаться чтобы словить ошибку:
    this.checkError = async ()=> {
        const checkData = this.getCheckData();
        for (let rule of this.rules) {
          try {
            await rule(checkData);
          }
          catch (e) {
            return e;
          }
        }
        return null;
      };

    (Потому что если его не ждать - код checkError завершит выполнение без каких-бы то ни было ошибок, а ошибка промиса возникнет когда-нибудь потом, спустя промежуток времени требуемый на асинхронную операцию, и, соответственно, не будет обработана)
    Написано
  • Regex, Как сделать поиск всех совпадений слов?

    Aetae
    @Aetae Куратор тега JavaScript
    Думаю искать тебе следует по "fuzzy search".
    Также замечание - у тебя search не экранируется. Попадётся какой-нить символ типа ? или [ и всё сломается.
    Написано
  • Из-за чего ошибка при использовании docxtemplater и JSZip/PizZip?

    Aetae
    @Aetae Куратор тега JavaScript
    import file from '../assets/tag-example.docx';
    loadFile(file, ...
    Написано
  • Как пропустить запрос на сервер без обработки vue-router?

    Aetae
    @Aetae Куратор тега Vue.js
    Не использовать router-link, использовать обычный <a href=.... Остальное настройки сервера.
    Написано
  • Как типизировать числа с точкой и тире?

    Aetae
    @Aetae Куратор тега TypeScript
    Lynn «Кофеман», лол, ну я такой ересью не занимался, потому не сталкивался.
    Если очень захотеть наверняка лимит можно и подкрутить. И пусть весь мир подождёт.:)
    Написано
  • Проблема с React children?

    Aetae
    @Aetae Куратор тега TypeScript
    Orion Orion, тебе не надо было самому делать PropsWithChildren, а надо было использовать те, что экспортирует React точно также как FC.

    И даже если ты захотел зачем-то обязательно сделать это руками, то тебе следовало взять код из моего ответа, а не из своей головы(хотя желлание написать самому и разобраться - похвально). ReactNode и ReactElement - разные вещи: ReactNode включает в себя и ReactElement, и string, и null, и рекурсивно массив из самой себя(на самом деле Iterable, но не суть) и ещё ряд редких вещей.

    Твой же тип, соответственно, ждёт в children один и только один ReactElement, о чём тебе и пишет ошибка.

    ...
    Ты спросишь: но я же и передаю один!? После чего я гляну на твой код ещё раз, увижу запятые и сделаю facepalm. Запятые - не часть ситаксиса JSX, потому в данном случае это просто текстовые элементы. Т.е. в ThemeProvider у тебя летит на самом деле два children'а: App и ",".
    Написано
  • Как создать пагинацию с многоточием?

    Aetae
    @Aetae Куратор тега JavaScript
    Если activePage = 1 - оно понятно что делать, а если activePage = 35 то как оно выглядеть то должно?
    А при maximumPagesButtonsState 3 или 10?
    Написано