Andrew
Где шаблон лежит?
Znacovean
А тебе папку в шаблоне надо получить?
какую шапку?) компонент в котором я хочу вызвать функцию лежит относительно рута dev/sections/example/example.pug икоонки dev/sections/example/img/icon.svg файл настроек для шаблонизатора в корне собственно express настроеН на распознавание урлов в dev есть вариант тупо полный путь передавать от dev но писать его постоянно статично - отстойно
Znacovean
Я понял) честно хз))
да..пока ограничусь ручным вводом пожалуй.. icon('iconName', '/sections/example/img/')
Aleksey
Ребят, помогите. Подключил к странице JS библиотеку zoom, все работает ОК, но после подгрузки товаров ajax запросом, перестает работать библиотека zoom. Почему перестает работать - разобрался. Стал делать делегирование, вроде все правильно пишу, но не работает, что не так?? Код который добавил: 5 строка и с 24 по 31 строку, исходный код закоменирован: https://codeshare.io/GLO9n7
Максим
Всем привет! Я создал проект https://github.com/psywalker/learning-webpack (собрал сам, это *не* create-react-app. Структура папок такая: http://prntscr.com/mlw6kj. Вопрос: как мне сделать, чтобы я мог смотреть проект на https://psywalker.github.io/learning-webpack/. Там сейчас отображается файл index.html, но не тот, который в папке dist (именно он собирается в конечной сборке). Надеюсь на помощь.
Denis
Znacovean
Почему бы не использовать require для импорта файлов?
каким образом мне это поможет в моей задаче?
Denis
каким образом мне это поможет в моей задаче?
require() стартует от корня проекта
Denis
import пашет?
Denis
Если начинать с точки - реквайр стартует от папки файла
Znacovean
require() стартует от корня проекта
мы находимся в компоненте dev/sections/component/ в этой же папке есть папка img мне удобно в компоненте ссылаться на ./img я не знаю всего пути до папки компонента суть моей задачи - написать функцию которая будет действовать на уровне корня и по полученным параметрам будет отдавать путь до папки из которой вызвана но проблема в том что путь до папки ./img ничего годного не даст было бы неплохо чтоб в шаблоне можно было юзать __dirname но опять это не будет работать так как такой переменной нету а передать её шаблонизатору - всё равно что вызвать её от корня а не от папки компонента незнаю если получилось донести мысль окружение - Node.js шаблонизатор - pug передача данных - через переменные locales сервер express
Znacovean
поэтому остановился пока но более легком и менее приятном варианте самостоятельно указывать весь путь абсолютный от корня icon('iconName', '/sections/example/img/')
Aleksey
Тебе надо весь код завернуть в функцию, стартующую по событию DOMContentLoaded
Завернул, теперь zoom работает, но ajax поломался(просто обновляется страница)
Znacovean
А вебпака нет?
вебпак фиково работает с пагом..вебпак для другого
Denis
Посмотри в сторону алиасов путей
Znacovean
Посмотри в сторону алиасов путей
в том и прикол что для шаблонизатора это не канает..
Denis
Pug-loader
Znacovean
Нормально работает. Я хз.
я знаю о чём я говорю.. поднимите проект на 20 страниц и поглядим сколько будете ждать обновления
Denis
Вебпак собирает бандл
Denis
Его не стоит запускать в рантайме
Denis
Алиасы путей поддерживает и npm
Aleksey
Можешь в песочницу выложить?
Смотри, я правильно понял, что весь код мне нужно завернуть в определенню функцию, и потом отславливать загрузку DOM и вызывать эту функцию?
Aleksey
типо такого: document.addEventListener("DOMContentLoaded", function(event) { startzoom(); });
Znacovean
Алиасы путей поддерживает и npm
и как алиасы путей нам помогут то? мне нужно чтоб получить путь от корня к текущему файлу в котором вызывается функция причём на уровне доступных ей функций в pug Доступен базовый js нодовские функции можно прокинуть через кастомные переменные с значением как функция с нужным кодом но как мы прокинем dirname?
Denis
Да. Иначе код начинает работать до загрузки разметки (это не всегда но может быть)
Denis
@aleksv ^
Denis
document.body.innerHTML += Я убежден что так не стоит делать
Pavel
document.body.innerHTML += Я убежден что так не стоит делать
почему? ну если вместо body будет что-то другое
Denis
const divEl = document.createElement('div')
Denis
divEl.classList.add('my-class')
Pavel
как ты в div будешь вставлять текст?
Pavel
или я мб контекста не уловил
Denis
divEl.innerText = '' divEl.innerHTML = ''
Pavel
а тю, понял о чем речь, я думал ты вообще против innerHTML
Denis
Нет, просто вставлять туда HTML в рантайме - как правило моветон
Denis
Но не всегда
Denis
Хорошо, спасибо. Сейчас попробую
Потом у тебя все функции грязные
Denis
function addClass (el, className) { el.classList.add(className) return el } это чистая функция ^ function addClass (className) { el.classList.add(className) } Это грязная ^
Syntax Highlight Bot
Dika
Потому что изменяют el
Denis
И что?
Denis
Зачем тогда вообще функции?
Aleksey
function addClass (el, className) { el.classList.add(className) return el } это чистая функция ^ function addClass (className) { el.classList.add(className) } Это грязная ^
Вообще я взял эту библиотеку: https://github.com/oliverschwendener/lumos , видимо ее так запилили
Denis
Потому что изменяют el
И как изменять EL?
Denis
Функция не должна менять что-то вне себя
Dika
И как изменять EL?
Так же, но не называть это чистой функцией
Denis
Если функция приняла el - то она имеет право его менять, оставась чистой
Максим
@Piterden, дело в том, что у меня в настройках проекта на гитхабе нет такой ветки, она как бы серенькая, недоступная
Максим
http://prntscr.com/mlxs3x
Denis
http://prntscr.com/mlxs3x
Сейчас используется мастер
Максим
ага, понял, создать в редакторе, да? и после перейти на неё и запушить?
Максим
да, но там не выбирается больше ничего(
Denis
да, но там не выбирается больше ничего(
Так у тебя нет других веток
Denis
Хорошо, @Bannerets покажи плиз чистую функцию
Максим
то есть создать в редакторе ветку gh-pages, далее на неё перейти и запушить?
Dika
Зачем тогда вообще функции?
const f = x => x * 2 — вот это чистая фукнция function addClass (el, className) { el.classList.add(className) return el } (здесь нет никакой разницы, возвращать el или нет) Отсутствие сайд эффектов подразумевает, что функция не меняет ничего вокруг себя. Если ты вызывал addClass(el, className) и проигнорировал результат, то среда осталась точно такой же, и el никак не изменился. Тогда это будет чистой функцией.
Denis
Но твоя функция меняет x
Максим
Всем привет! Я создал проект https://github.com/psywalker/learning-webpack (собрал сам, это *не* create-react-app. Структура папок такая: http://prntscr.com/mlw6kj. Вопрос: как мне сделать, чтобы я мог смотреть проект на https://psywalker.github.io/learning-webpack/. Там сейчас отображается файл index.html, но не тот, который в папке dist (именно он собирается в конечной сборке). Надеюсь на помощь.
Максим
это я напомил задачу*
Dika
Но твоя функция меняет x
Нет, она создает новое число
Dika
const x = 2 f(x) x === 2 // true
Denis
Хорошо. Ка мне поменять класс у элемента?
Denis
Создать новый элемент?