Ві
лихие нулевьіе
Alexander
Oleh
ребята, кто видел норм туториал по написанию сингл пейдж апликейшн роутеров с хистори апи,
Oleh
?
Rafael 🌵
Oleh
без фремворка, для обучения
Oleh
сам принцип написания
Rafael 🌵
http://krasimirtsonev.com/blog/article/A-modern-JavaScript-router-in-100-lines-history-api-pushState-hash-url
Oleh
спасисибо)
Oleh
ой
Oleh
спасибо)
Oleh
не понимаю, получаю елемент с dom через id, вставляю елемент через append child, но на странице он не отображаеться
Oleh
function p(el, obj = null, arr = null) {
let elem = document.createElement(el);
for(let key in obj){
elem.setAttribute(key, obj[key]);
}
/*if(arr){
arr.forEach( function(item) {elem.appendChild(item())});
}*/
let c = document.getElementById('app');
c.appendChild(elem);
console.log(c);
};
p('div', {textContent: 'Привет, JS!'});
Oleh
разобрался
Vitaly
Ребят, кто-нибудь пилил либу для работы с facebook marketing api на ноде?)
anoru
anoru
Поясните за свг, ни разу с ним не работал
Фигачишь каждую svg как реакт компонент в папочку иконок и можешь передавать ей разные параметры пропсами, манипулировать несколькими цветами сразу. Да еще и через ксс менять. :D
hlomzik
anoru
не нужно
anoru
свг в виде компонент одна из киллер фич реакта
anoru
можно управлять чем угодно. 10 из 10
anoru
Тупо беру исходник свгшки, прогоняю оптимайзером. Создаю иконку svg компонент, вставляю туда, заменяю значения на пропсы. Вставляю дефолт значения. Профит
anoru
если надо изменить через ксс, то вешаю еще и классы. Но чаще пропсами
hlomzik
anoru
Чтобы прочитать описание, пробовать не нужно
hlomzik
блин, такие одинаковые названия. я какую-то использовал, как раз получалось изменять внешние стили
hlomzik
позже код свой найду
Anonymous
Выполняю
babel ./*.js.flow --out-dir ./
Хочу, чтобы на выходе были не file.js.js, а file.js.
Anonymous
Есть возможность задать какую-нить маску файла?
Processor
Processor
может он подразумевается автоматом
Дима
У тебя опять свой особый кейс 🙃
Дима
Просто не пиши с расширением flow)
Anonymous
У тебя опять свой особый кейс 🙃
Да ничего особого. Просто нужно обеспечить возможность сделать так:
import BotClient from 'my-package/BotClient';
Вот как я решаю этот вопрос на данный момент:
"scripts": {
...
"build:src": "babel src --out-dir lib",
"build:client":
"babel BotClient.js.flow -o BotClient.js",
...
Boris
var theThing = null;
var replaceThing = function () {
var priorThing = theThing; // hold on to the prior thing
var unused = function () {
// 'unused' is the only place where 'priorThing' is referenced,
// but 'unused' never gets invoked
if (priorThing) {
console.log("hi");
}
};
theThing = {
longStr: new Array(1000000).join('*'), // create a 1MB object
someMethod: function () {
console.log(someMessage);
}
};
};
setInterval(replaceThing, 1000); // invoke `replaceThing' once every second
Boris
объясните плиз почему утечка памяти
Boris
если насколько я знаю существует оптимизация. на сохранение в метаобъекте замыкания только тех ключей что реально используются
Ві
сложно(
Ві
а че профайлер говорит?
CherryTea
CherryTea
Дима
Paco
Кто то писал WebExtension для браузера?
Anatoly
Подскажите, как сейчас правильно пишется современный JS не для SPA, а когда есть сайт и есть много страниц. На каждой странице есть своя какая-то небольшая логика с анимацией и отправкой форм. В текущей версии, есть один большой JS бандл, который, если грубо говорить выглядит вот так:
if (exist elements on page 1) { handle elements on page1 }
if (exist elements on page 2) { handle elements on page2 }
…
if (exist elements on page 10) { handle elements on page10 }
Соответственно, суть вопросов заключается в том, что стоит ли разбивать бандл на части для каждой страницы, если он < 1мб? Если разбивать бандл на части для страниц, то как это организовать на том же webpack?(для каждой страницы новый entry point?)
Если не разбивать бандл, а оставить один целиковый для всех страниц, то как быть с этими проверками, что мы должны вызвать логику для элементов текущей страницы?
Дима
Подскажите, как сейчас правильно пишется современный JS не для SPA, а когда есть сайт и есть много страниц. На каждой странице есть своя какая-то небольшая логика с анимацией и отправкой форм. В текущей версии, есть один большой JS бандл, который, если грубо говорить выглядит вот так:
if (exist elements on page 1) { handle elements on page1 }
if (exist elements on page 2) { handle elements on page2 }
…
if (exist elements on page 10) { handle elements on page10 }
Соответственно, суть вопросов заключается в том, что стоит ли разбивать бандл на части для каждой страницы, если он < 1мб? Если разбивать бандл на части для страниц, то как это организовать на том же webpack?(для каждой страницы новый entry point?)
Если не разбивать бандл, а оставить один целиковый для всех страниц, то как быть с этими проверками, что мы должны вызвать логику для элементов текущей страницы?
Webpack 2, dynamic import из коробки, автоматически)
Anatoly
dynamic import - это XHR, если я правильно понимаю, но нужен ли, когда можно вместе со страницей отдать(script src) ?
Anatoly
Даже если так, то ок, берем вебпак 2, и entry point превращается в вот такую штуку:
if (exist elements on page 1) { import(blah1) }
if (exist elements on page 2) { import(blah2) }
…
if (exist elements on page 10) { import(blah10) }
Azein
Ты несколько не те вещи сравниваешь
Ві
Ві
то же самое что и чанки
Anatoly
Хах, и в какой же оно памяти то хранится? ) Где-то между сервером и браузером? )
Anatoly
Или память, ты имеешь в виду рантайм?
Ві
рантайм
Ві
если б можно бьіло на более низком уровне просто подключать скрипт на страницу и без конфликтов версий - бьіло б отлично
Ві
привет виджетьі на вебпаке
Anatoly
Понятненько
Ві
вот такое нашел https://medium.com/@akaaustin/building-react-widget-libraries-using-webpack-e0a140c16ce4#.2wlcbeidp
Anonymous
Всем привет! Нужна помощь в изучении js. Вообщем нужен коуч по JS. Естественно за оплату. У кого есть время и желание помочь, отпишитесь пожалуйста!
melvin
Serhii
Ого, я мог у студентов оплату брать?
Rafael 🌵
hlomzik
hlomzik
это не цель и даже не средство
Anonymous
Anonymous
Как вот эта хуйня работает?
Anonymous
Почииииму
hlomzik
По-умному это называется каррирование. Функции, которые возвращают функции, в которых часть аргументов уже зашита, потому что они созданы в замыкании, в котором есть уже инициализированная часть.
Anonymous
Откуда он знает что 5 надо в number передать?
Anonymous
Ну и да, что записывается в twice
hlomzik
объяснить не сильная проблема (наверное). но это настолько базовые вещи, что после них будет еще тысяча вопросов
Anonymous
Все, понял. Мы просто записали в переменную ту внутреннюю функцию
Anonymous
Ах, все так просто оказалось
Anonymous
Целиком функцию записали, охуеть
hlomzik
"внутреннюю" функцию в замыкании
hlomzik
молодой человек, вы ошиблись чатом, паскаль за другой дверью
Anonymous