Задать вопрос
  • Импорт svg из модуля?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    Как импортировать/получить путь файла если он не внесен в експорт разработчиком модуля?

    Попробуйте указать полный путь до файла
    require.resolve('./node_modules/country-flag-icons/flags/1x1/RU.svg')
    Ответ написан
    1 комментарий
  • Как запустить миграции knex после старта сервера?

    i229194964
    @i229194964
    Веб разработчик
    import { Module, OnModuleInit } from '@nestjs/common';
    import { KnexModule } from '@nestjsplus/knex';
    import { MigrationConfig } from '@nestjsplus/knex/dist/interfaces/migration-config.interface';
    import * as path from 'path';
    
    @Module({
      imports: [
        KnexModule.forRootAsync({
          useFactory: (): MigrationConfig => ({
            config: {
              client: 'sqlite3',
              useNullAsDefault: true,
              connection: ':memory:',
            },
            migrations: {
              directory: path.resolve(__dirname, 'migrations'),
            },
          }),
        }),
      ],
    })
    export class DatabaseModule implements OnModuleInit {
      constructor(private readonly knexService: KnexService) {}
    
      async onModuleInit() {
        await this.knexService.client.migrate.latest();
      }
    }
    Ответ написан
    Комментировать
  • Как установить dependencies нод-модулей?

    Чтобы ответ стал более полезным - приложи сообщение об ошибке, package.json, и какой командой собираешь.

    Вообще npm install должен автоматически подгрузить ВСЕ зависимости, включая зависимости зависимостей (транзитивные зависимости).
    Иногда правда придётся явно указать зависимость, но об этом должно говориться в ошибке (обычно пишется, что не хватает какой-нибудь peer dependency)

    node_modules становится
    черной дырой

    От этого никак не уйти)
    Ответ написан
    4 комментария
  • Как перемножить числа в том же массиве?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Как получить квадрат числа:

    const square = n => n ** 2;
    
    // или
    
    const square = n => n * n;
    
    // или
    
    const square = n => Math.pow(n, 2);

    Как обновить массив:

    arr.forEach((n, i, a) => a[i] = square(n));
    
    // или
    
    arr.splice(0, arr.length, ...arr.map(square));
    
    // или
    
    for (const [ i, n ] of arr.entries()) {
      arr[i] = square(n);
    }
    
    // или
    
    for (let i = 0; i < arr.length; i++) {
      arr[i] = square(arr[i]);
    }
    Ответ написан
    3 комментария
  • Как итерировать fileList?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    if (typeof this.files?.length === 'number') {
      // А тут уже цикл
    }
    Ответ написан
    5 комментариев
  • Как указать тип переменной vue?

    RayZ
    @RayZ
    Веб-разработчик
    1) Каст типа через `as`
    data() {
      return {
        files: myFiles as FileList;
      }
    }


    2) Обозначение типов у метода
    data(): {
      files?: <FileList | null>;
    } {
      return {
          files:  undefined,
      };
    }


    3) Определение через generic Vue.extend, что является наиболее грамотным подходом.
    interface Data {
      files?: <FileList | null>;
    }
    
    export default Vue.extend<Data, Methods, Computed, Props>({
      data() {
          return {
            files: undefined
          };
       }
     });
    Ответ написан
    Комментировать
  • Как сделать алгоритм добавления елементов?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Значения в массиве строк уникальны? Если нет, сколько надо добавлять объектов?

    Сколько раз строка повторилась - столько новых объектов будет добавлено:

    const names = new Set(objects.map(n => n.name));
    strings.forEach(n => (names.has(n) || objects.push({ name: n })));

    Два раза одно и то же не добавляем:

    new Set(strings).forEach(function(n) {
      if (!this.has(n)) {
        objects.push({ name: n });
      }
    }, new Set(objects.map(n => n.name)));
    
    // или
    
    for (const name of strings) {
      if (objects.every(n => n.name !== name)) {
        objects[objects.length] = { name };
      }
    }
    
    // или
    
    objects.splice(0, objects.length, ...strings.reduce(
      (acc, n) => acc.set(n, acc.get(n) ?? { name: n }),
      new Map(objects.map(n => [ n.name, n ]))
    ).values());
    Ответ написан
    Комментировать