• Стоит ли начинающему фронтендеру создавать сайт-портфолио, или профиля на GitHub будет достаточно?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Если это будет хорошо и качественно сделано - то конечно наличие такого сайта в плюс.
    Качественно - с точки зрения того что открывший его человек за пару минут поймет какой вы специалист в первую очередь и сайт не будет отталкивающим/неудобным во вторую.
    Ответ написан
    1 комментарий
  • Что за ошибка? [Violation] Added non-passive event listener to a scroll-blocking...?

    zabudkin
    @zabudkin
    Инженер-системотехник, программист, админ, ТПУ!!!!
    Похоже, это связано с новыми параметрами прослушивателя событий.

    Нет нового объекта параметров, который можно передать в addEventListener. В предупреждении говорится, что прослушивателям пассивных событий на странице следует передать параметр {passive: true}, чтобы повысить производительность прокрутки. document.addEventListener('touchstart', handler, {passive: true});,

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

    @ElijahCapricorn
    Можно просто создать переменную перед вызовом getConnection

    let id;
    pool.getConnection(function(err, connect) {
        connect.query(..., function(err, result) {
            ...
            if(!err && result.length !== 0) {
                id = result.id;
            }
            ...
        }
    }

    Но из-за того, что запросы к БД асинхронные Вы не сможете узнать когда значение запишется в переменную.

    По этой причине в асинхронные функции передают коллбэк, который на вход получит результат выполнения асинхронного кода.
    function createOrUpdateUsersCallback(err, result) {
        if (err) {
    		console.log(err);
    	}
    	else {
    		// Use result.id as you want
    	}
    }
    
    function createOrUpdateUsers(callback) {
    	pool.getConnection(function(err, connect) {
    		connect.query(..., function(err, result) {
    			if(err) {
    				callback(err, null);
    			}
    			else {
    				// Do create or update 
    				callback(null, result);
    			}
    
    		}
    	}
    }
    
    createOrUpdateUsers(createOrUpdateUsersCallback);

    Но в современном мире с асинхронным кодом проще всего работать через промисы и async/await
    На промисах это будет что-то вроде
    const createOrUpdateUsersPromise = new Promise((resolve, reject) => {
    	function createOrUpdateUsers(callback) {
    		pool.getConnection(function(err, connect) {
    			connect.query(..., function(err, result) {
    				if(err) {
    					reject(err);
    				}
    				else {
    					// Do create or update 
    					resolve(result);
    				}
    
    			}
    		}
    	}
    })
    
    const result = await createOrUpdateUsersPromise();
    const id = result.id;
    Ответ написан
    Комментировать
  • Подключение JSON файла к JS,как изменить и перезаписать?

    @McBernar
    JS в браузере не умеет писать в файлы. Это умеет JS в Ноде.

    Так что:
    1. Ставьте ноду
    2. Подключайте модуль fs
    3. Читайте файл, делайте изменения, пишите обратно

    У ноды хорошая документация и довольно простой api.
    Ответ написан
    Комментировать
  • Как парсить мета теги на node.js?

    Vlad_IT
    @Vlad_IT Куратор тега JavaScript
    Front-end разработчик
    description это не тег, это name мета тега.
    <meta name="description" content="Контент">
    вот так надо
    $('meta[name="description"]').attr('content')
    Ответ написан
    2 комментария
  • Как узнать есть ли на сайте sitemap.xml?

    @thetonygreen
    Как вариант - проверить /robots.txt, там обычно указывают директиву Sitemap.
    Ответ написан
    Комментировать