Максим
я согласна с такой логикой, все равно рано или поздно придется это сделать, и раз вопрос встал сейчас - почему бы сейчас и не начать но вдруг есть менее болезненные варианты, о которых я не знаю)
у меня сейчас 3 проекта на поддержке, у которых есть чисто вывод на php, на некоторых вывод на angular, на некоторых вывод ещё хз каким способом.. ангулар версии 1.3~, я потихоньку к 1.6 перевёл, но этот зоопарк ещё шире стал... ну у нас хотя бы разбиение по компонентам есть (bitrix), вот по хорошему уйти к новому ангулару или react, но их слишком плохо знаю.. а так бы с удовольствием начал бы переводить все к 1 стандарту
Maksim
https://github.com/angular-ui/ui-router/wiki/quick-reference#statehrefstateorname--params--options
@yarrrrrrrr , спасибо, получилось реализовать через ui-sref. Забиваем туда стейт с параметрами, на который нужно перейти. ui-sref автоматом нам генерит href с урлом, соответственно активируется "Open in new tab" в контекстном меню. Правда всю логику пришлось вынести в html, использовать интерполяцию, благо она там не сильно сложная. в итоге ng-click'и вообще убрал с кнопок
Anonymous
а вопрос на смежную тему, с 1 на 2 версию ангуляра переходить - это равносильно переписыванию с нуля, верно? Они слишком отличны
Почти равносильно переписыванию с нуля. Можете выбирать любой фреймворк, какой будет удобен, если решите переписывать. Выбирать именно ангуляр2 нет особых причин. Особенно учитывая, что ваш проект на 1.4 версии, без компонентов.
Sergey
Я рад что всё получилось)
Олекса Лелека 🎄
другой вопрос, предположим, что мне дают добро на переделку с нуля, но пока она в процессе - проблема остается, минимизированный js-ник весит полтора мегабайта, что осложняет просмотр с мобильных, а сайт активно работает. Как можно оптимально облегчить загрузку главной, можно временным решением?
Олекса Лелека 🎄
Кто-нибудь разбивал большой файл на модули, имеет ли смысл подобная система - чтобы на отдельных страницах подгружались отдельные js-ники, например?
pa[aad
Кто-нибудь разбивал большой файл на модули, имеет ли смысл подобная система - чтобы на отдельных страницах подгружались отдельные js-ники, например?
разбивать имеет смысл можете сжать brotli / gzip можете подключить workbox который закеширует на клиенте статику в виде js файлов и не только
Anonymous
В вебпаке же можно сделать прогрессивную загрузку приложения, но не знаю как это будет в ангуляре1.
Олекса Лелека 🎄
у меня PWA на этом проекте нету, увы
pa[aad
у меня PWA на этом проекте нету, увы
я и не говорю про полностью PWA, просто можете воспользоваться технологией кеширования на клиенте с помощью service worker`ов
Олекса Лелека 🎄
поняла, спасибо буду смотреть
Олекса Лелека 🎄
принято, спасибо :)
pa[aad
SOLID годится ну только для рефакторинга
Олекса Лелека 🎄
в чем сакральный смысл?
pa[aad
я о том же
pa[aad
сейчас начнут обновляться и может что-то отвалится
Олекса Лелека 🎄
если мне предстоит самолет покупать, какой смысл менять машину?)
Олекса Лелека 🎄
я ожидала аргументов вроде "лучше производительность", "меньше вес итоговой сборки")
pa[aad
я ожидала аргументов вроде "лучше производительность", "меньше вес итоговой сборки")
вес не меньше, а вот насчет производительности мб, нужно смотреть changelog
Олекса Лелека 🎄
угу, и сарказмом приправь Вопрос исчерпан, всем спасибо за советы
pa[aad
я предупредил
Олекса Лелека 🎄
сейчас начнут обновляться и может что-то отвалится
да, это одна из причин, по которым я не хочу обновляться :) нет времени на решение этих вопросов.
Anonymous
Хотя б сказал для чего человеку обновляться и решит ли это его проблему с производительностью хотя бы временно. До того, как он уговорит все переписать на более актуальный фреймворк. И стоит ли вообще игра свеч.
Anonymous
Насчет производительности, я уже советовал прогрессивную загрузку и об этом обмоливился человек, котрый тут подписан "женя". Он может и не научен манерам, но создает впечатление человека, который разбирается в вопросе, поэтому советовал бы посмотреть в эту сторону.
Олекса Лелека 🎄
хуже только когда такие люди делают на свое усмотрение, не спрашивая советов, не обучаясь новому, не рассматривая разные варианты решения, не выбирая оптимальных путей - другими словами, не развиваясь и не совершенствуясь)
Stas
Ну из 3х диалогов, создалось впечатление что для тебя все тупые. Мне кажется ты зря тратишь своё время на недалёких людей в этом чате. Да и кто тебя просит отвечать фейспалмами или сарказмом? Не хочешь помогать, просто не пиши людям, у меня всё.
Stas
ну 1 из 10 сообщений может по делу
Артур
_паренек_, _малиш_. Очень уместно 👍
pa[aad
вот я тут на 100% за, это жесть потом
Nurlan
Всем ку!
Nurlan
кто подскажет в браузере такая ошибка
Nurlan
ng.min.js:117 Error: [$parse:syntax] http://errors.angularjs.org/1.5.5/$parse/syntax?p0=)&p1=not%20a%20primary%20expression&p2=19&p3=vm.openAddModule%3D()&p4=) at http://localhost:3000/js/vendor/ng.min.js:6:412 at s.throwError (http://localhost:3000/js/vendor/ng.min.js:227:427) at s.primary (http://localhost:3000/js/vendor/ng.min.js:224:389) at s.unary (http://localhost:3000/js/vendor/ng.min.js:223:411) at s.multiplicative (http://localhost:3000/js/vendor/ng.min.js:223:157) at s.additive (http://localhost:3000/js/vendor/ng.min.js:222:493) at s.relational (http://localhost:3000/js/vendor/ng.min.js:222:328) at s.equality (http://localhost:3000/js/vendor/ng.min.js:222:153) at s.logicalAND (http://localhost:3000/js/vendor/ng.min.js:222:6) at s.logicalOR (http://localhost:3000/js/vendor/ng.min.js:221:385) <div class="modal-backdrop" ng-click="vm.openAddModule=()">
Nurlan
А есть хороший и главное понятный мануал по нему
Nurlan
я его глобально поставил
Nurlan
Да конечно для VS CODE стоит
Nurlan
Разобрался с линтом
Nurlan
блин а что отвечать при настройке
Nurlan
ComonJS спрашивает
Nurlan
JSX
Nurlan
нет я запустил eslint — init
Nurlan
он теперь как npm задает вопросы чтобы конфиг создать
Nurlan
Я просто не знаю используется ли у меня JSX
Nurlan
я использую Express, Passport
Nurlan
а JSX вроде не использую
Nurlan
а eslitrc.json удалить?
Nurlan
Так а как его теперь юзать?
Nurlan
Nurlan
Типа слева?
Nurlan
Ок. Спасибо добрый человек, реально помогаешь, дай бог здоровья
Anonymous
Заодно и преттиер в вс код свой интегрируй. Будет тебе счастье.
Stas
Ну вроде не хамил и не кидал смайлики фейспалма, уже не плохо 👍
Oleg
Ваще красавчик
Владислав
@женя вот так вот помогаешь челику)) а он тебе пишет не оскорбляй меня )
Владислав
@dev0101 чето у них в репе нету по второму стайлгайда :(
Stas
Нужно отображать имя юзера. В jwt токен сохранял инфу - имени юзера, но оказалось плохой идеей, так как русскоязычные имена искажаются, а то и вовсе ломают всё. Переделал, теперь отправляю запрос в бд для этого имени, для нормального отображения, но теперь вижу эту задержку в пол секунды (пока идёт запрос-ответ), когда эти символы имени появляются на элементе. Подкиньте идею как выкрутиться из ситуации?
pa[aad
Просто текст да
так нормально выводит или нет ?
Stas
да, можно писать имена кириллицей
Stas
так нормально выводит или нет ?
Да, всё нормально выводит, если с базы. Там в этом jwt вроде base64 кодировка, соответственно если латиницей имя, всё отлично работает, кириллицей - ломает.
pa[aad
Да, всё нормально выводит, если с базы. Там в этом jwt вроде base64 кодировка, соответственно если латиницей имя, всё отлично работает, кириллицей - ломает.
скорее ты что-то намудрил, я на клиенте парсю jwt и все ок может ты записываешь неправильно уже и какие крякозяблы выводятся для примера приведи
Stas
похожие на буквы D с точками с разных сторон
Stas
что б сделать скрин, нужно время назад переделать
Stas
jwt = require('jsonwebtoken'); let expiry = new Date(); expiry.setFullYear(expiry.getFullYear() + 1); return jwt.sign({ _id: user._id, //name: user.name, exp: parseInt(expiry.getTime() / 1000) }, process.env.JWT_SECRET);
Stas
вот это запись
Stas
let payload = JSON.parse($window.atob(token.split('.')[1]));
Stas
это расшифровка
pa[aad
function parseJwt (token) { const base64Url = token.split('.')[1]; const base64 = base64Url.replace('-', '+').replace('_', '/'); return JSON.parse(window.atob(base64)); };это пробуй
pa[aad
и выведи имя на сервере console.log(user.name); что там за выхлоп