• Как разбить интервал дат на периоды?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Можно просто прибавлять часы:
    D = new Date();
    
    D.setHours(D.getHours() + 12) // подвинули вперёд на 12 часов
    даты корректируются «автомагически».

    TODO: проверить, не будет ли сюрпризов в переходах на летнее/зимнее время, когда клиент в поясе, где сохранились эти переходы.
    spoiler

    Примерная реализация. Косяк в часовом поясе текстового представления даты: вне зависимости от входного формата, на выходе даты будут в UTC:
    (
    (start, finish) => {
      const date = new Date(start);
      const dateFinish = new Date(finish);
      const result = [];
    
      while (date <= dateFinish) {
        result.push(date.toISOString());
        date.setHours(date.getHours() + 12);
      }
      return result;
    }
    )('2020-01-01T00:00:00+03:00', '2020-03-15T11:58:01+03:00')
    /*
    Array(149) [ "2019-12-31T21:00:00.000Z", "2020-01-01T09:00:00.000Z", "2020-01-01T21:00:00.000Z", "2020-01-02T09:00:00.000Z", "2020-01-02T21:00:00.000Z", "2020-01-03T09:00:00.000Z", "2020-01-03T21:00:00.000Z", "2020-01-04T09:00:00.000Z", "2020-01-04T21:00:00.000Z", "2020-01-05T09:00:00.000Z", … ]
    */
    Ответ написан
    Комментировать
  • Как правильно загружать файлы на сервер Node.js?

    bingo347
    @bingo347 Куратор тега Node.js
    Crazy on performance...
    Чтоб не было проблем путей в разных окружениях, всегда стройте пути с использованием переменной __dirname или других путей, полученных на ее основе.
    Для соединения нескольких частей пути в полный путь используйте path.join

    Большинство библиотек относительные пути строят от process.cwd(), который напрямую зависит от того из какой папки был запущен скрипт.
    Ответ написан
    Комментировать
  • Почему proxy nginx не пропускает на node js?

    notiv-nt
    @notiv-nt
    Как ваше ничего? Да, моё тоже
    Да, cors тот ещё гемор

    Рабочий вариант:

    Nginx
    Слэш в конец proxy_pass http://127.0.0.1:3000/; нужен чтоб убрать /back/
    server {
      listen 80;
      server_name site.localhost;
    
      location /back/ {
        proxy_http_version 1.1;
    
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $http_host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
    
        proxy_pass http://127.0.0.1:3000/;
      }
    }


    Node
    const express = require('express');
    const app = express();
    const cors = require('cors');
    
    app.use(cors());
    
    app.post('/', (req, res) => {
      res.json({ 1: 1 });
    });
    
    app.listen(3000);


    Ну и сам запрос
    (async () => {
      const res = await fetch('http://site.localhost/back/', { method: 'POST' }).then(r => r.json())
    
      console.log(res)
    })();
    Ответ написан
    5 комментариев
  • Собрать проект VUE с игнорированием ошибок?

    Aetae
    @Aetae Куратор тега Vue.js
    Тлен
    https://www.npmjs.com/package/eslint-plugin-only-warn
    Без этой хрени с eslint работать невозможно. Какого лешего каждая мелочь в нём идёт по умолчанию как error, а не warning - загадка.

    Другое дело что именно для сборки прода, я как раз этот плагин отключаю. Потому что в прод должен идти чистый код.
    Ответ написан
    Комментировать
  • Собрать проект VUE с игнорированием ошибок?

    darakanoit
    @darakanoit
    Выключить eslint, камон
    Ответ написан
    Комментировать
  • Обибки при импорте дампа mysql, как импортировать?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    mysqldump делает дамп базы. Импортировать надо через mysql.
    Ответ написан
    1 комментарий