Ответы пользователя по тегу JavaScript
  • Как в npm Multer получить имя записаного им же файла?

    ItsEvilTime
    @ItsEvilTime
    Сайленсер не дает мне покоя
    var multer = require('multer'),
        storage = multer.diskStorage({
            destination: function(req, file, callback) {
                callback(null, __dirname + '/public/tmp/upload_avatars');
            },
            filename: function(req, file, callback) {
                var filename = file.fieldname + '-' + Date.now() + '-' + file.originalname;
                cb(null, filename);
            }
        }),
        upload = multer({ storage: storage });


    Далее где нужно имя
    req.files[0].filename

    Вместо [0] - нужный файл или цикл.
    Ответ написан
    Комментировать
  • Почему не работает window.pageYOffset?

    ItsEvilTime
    @ItsEvilTime Автор вопроса
    Сайленсер не дает мне покоя
    Пытался много чего делать. В общем сделал так: просто скопировал папку и запустил файл из новой копии без изменений = все работает. Ведать на старую папку навели порчу.
    Ответ написан
    Комментировать
  • Как сделать чуть более чем "простой" сервер на Node.js?

    ItsEvilTime
    @ItsEvilTime
    Сайленсер не дает мне покоя
    Код ниже выводит html-страницу с картинкой и подключенным файлом стилей. Из модулей тебе понадобится только Express.

    app.js:
    var express = require('express'),
        http = require('http'),
        fs = require('fs');
    
    var app = express();
    
    // Задаем пути поиска css и img файлов
    app.use(express.static(__dirname + '/css'));
    app.use(express.static(__dirname + '/img'));
    
    // Создаем сервер
    http.createServer(app).listen(3000, function(){
      console.log("Server started");
    });
    
    // При входе на главную страницу выдаем index.html
    app.get('/', function(req, res, next){
      fs.readFile('./index.html', function(err, info){
        if (err) throw err;
        res.end(info);
      })
    });


    index.html:
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Document</title>
      <link rel="stylesheet" href="main.css">
    </head>
    <body>
      <h1>Hello</h1>
      <img src="nodejs.png" alt="logo">
    </body>
    </html>


    main.css:
    body {
      background: #ddd;
    }


    Картинка хранится в папке img, файл стилей расположен в папке css.
    app.js и index.html лежат в корне.
    Ответ написан
    Комментировать
  • Стоит ли сейчас изучать JQuery?

    ItsEvilTime
    @ItsEvilTime
    Сайленсер не дает мне покоя
    Смысла в jQuery не вижу. Для кода использую свою библиотеку сниппетов, что ускоряет работу быстрее, чем это может предложить jQuery (без сниппетов, офк) + в такой реализации не подключаю избыток ненужного хлама и полностью контролирую все происходящее под капотом.

    Изначально отказался от jQuery из-за отвращения к его синтаксису, в частности, не нравится знак $ в коде. Прошел уже год, ни разу не пожалел.
    Ответ написан
    1 комментарий
  • Для новичка лучше учить ЯП исходя из задач, которые хочется решать или наиболее простой язык?

    ItsEvilTime
    @ItsEvilTime
    Сайленсер не дает мне покоя
    Учил базу до отказу.
    (html, css, js)
    Ответ написан
    Комментировать
  • Как сделать плавность движения блока при onmousemove?

    ItsEvilTime
    @ItsEvilTime Автор вопроса
    Сайленсер не дает мне покоя
    Написал решение для вопроса после UPDATE, т.е. тот же вопрос, но с использованием requestAnimationFrame.

    block = document.getElementById("block");
    
    animate = function(options) {
      var measure, start;
      start = performance.now();
      return requestAnimationFrame(measure = function(time) {
        var progress, timeFraction;
        timeFraction = (time - start) / options.duration;
        progress = options.timing(timeFraction);
        if (progress < 0) {
          progress = 0;
        }
        if (progress > 1) {
          progress = 1;
        }
        options.draw(progress);
        if (timeFraction < 1) {
          return requestAnimationFrame(measure);
        }
      });
    };
    
    block.style.left = "0";
    block.style.top = "0";
    
    document.onmousemove = function(e) {
      var dX, dY, lastX, lastY, theX, theY;
      lastX = parseInt(block.style.left);
      theX = e.pageX;
      dX = theX / 5 - lastX + 500;
      lastY = parseInt(block.style.top);
      theY = e.pageY;
      dY = theY / 5 - lastY + 200;
      return animate({
        duration: 100,
        timing: function(timeFraction) {
          return timeFraction;
        },
        draw: function(progress) {
          block.style.left = (lastX + progress * dX) + "px";
          return block.style.top = (lastY + progress * dY) + "px";
        }
      });
    };

    HTML и CSS тот же

    Если нужна инверсия движения, то достаточно изменить вот эти строки:
    dX = 500 - theX / 5 - lastX
    dY = 200 - theY / 5 - lastY
    Ответ написан
    Комментировать