Andrew
Где шаблон лежит?
Znacovean
А тебе папку в шаблоне надо получить?
какую шапку?)
компонент в котором я хочу вызвать функцию лежит относительно рута
dev/sections/example/example.pug
икоонки
dev/sections/example/img/icon.svg
файл настроек для шаблонизатора в корне собственно
express настроеН на распознавание урлов в dev
есть вариант тупо полный путь передавать от dev но писать его постоянно статично - отстойно
Andrew
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
Denis
Denis
Znacovean
Denis
Denis
Denis
import пашет?
Denis
Если начинать с точки - реквайр стартует от папки файла
Znacovean
require() стартует от корня проекта
мы находимся в компоненте dev/sections/component/
в этой же папке есть папка img
мне удобно в компоненте ссылаться на ./img
я не знаю всего пути до папки компонента
суть моей задачи - написать функцию которая будет действовать на уровне корня и по полученным параметрам будет отдавать путь до папки из которой вызвана
но проблема в том что путь до папки ./img ничего годного не даст
было бы неплохо чтоб в шаблоне можно было юзать __dirname
но опять это не будет работать так как такой переменной нету
а передать её шаблонизатору - всё равно что вызвать её от корня а не от папки компонента
незнаю если получилось донести мысль
окружение - Node.js
шаблонизатор - pug
передача данных - через переменные locales
сервер express
Znacovean
поэтому остановился пока но более легком и менее приятном варианте самостоятельно указывать весь путь абсолютный от корня
icon('iconName', '/sections/example/img/')
Denis
Znacovean
А вебпака нет?
вебпак фиково работает с пагом..вебпак для другого
Denis
Посмотри в сторону алиасов путей
Denis
Denis
Pug-loader
Znacovean
Нормально работает. Я хз.
я знаю о чём я говорю..
поднимите проект на 20 страниц и поглядим сколько будете ждать обновления
Denis
Вебпак собирает бандл
Denis
Его не стоит запускать в рантайме
Denis
Алиасы путей поддерживает и npm
Denis
Aleksey
Можешь в песочницу выложить?
Смотри, я правильно понял, что весь код мне нужно завернуть в определенню функцию, и потом отславливать загрузку DOM и вызывать эту функцию?
Aleksey
типо такого: document.addEventListener("DOMContentLoaded", function(event) {
startzoom();
});
Znacovean
Алиасы путей поддерживает и npm
и как алиасы путей нам помогут то?
мне нужно чтоб получить путь от корня к текущему файлу в котором вызывается функция
причём на уровне доступных ей функций
в pug Доступен базовый js
нодовские функции можно прокинуть через кастомные переменные с значением как функция с нужным кодом
но как мы прокинем dirname?
Denis
Да. Иначе код начинает работать до загрузки разметки (это не всегда но может быть)
Denis
@aleksv ^
Aleksey
Denis
Denis
document.body.innerHTML += Я убежден что так не стоит делать
Pavel
Denis
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
Но не всегда
Aleksey
Denis
function addClass (el, className) {
el.classList.add(className)
return el
}
это чистая функция ^
function addClass (className) {
el.classList.add(className)
}
Это грязная ^
Syntax Highlight Bot
Максим
Dika
Denis
Denis
Dika
Потому что изменяют el
Denis
И что?
Denis
Зачем тогда вообще функции?
Aleksey
Denis
Denis
Функция не должна менять что-то вне себя
Denis
Если функция приняла el - то она имеет право его менять, оставась чистой
Максим
@Piterden, дело в том, что у меня в настройках проекта на гитхабе нет такой ветки, она как бы серенькая, недоступная
Denis
Максим
http://prntscr.com/mlxs3x
Максим
ага, понял, создать в редакторе, да? и после перейти на неё и запушить?
Максим
да, но там не выбирается больше ничего(
Denis
Denis
Хорошо, @Bannerets покажи плиз чистую функцию
Максим
то есть создать в редакторе ветку gh-pages, далее на неё перейти и запушить?
Denis
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
const x = 2
f(x)
x === 2 // true
Denis
Хорошо. Ка мне поменять класс у элемента?
Denis
Создать новый элемент?