Vladimir
Vladimir
Там в треде есть
Anonymous
Kanstantsin
на вебшторм кстати неплохой плагин есть - commonjs autocomplete
Loyd
Nikolay
Можно ./ добавлять перед app :)
Anonymous
У тебя де-факто, а у меня фактически - алгоритм есть и он работает
Loyd
Nikolay
Anonymous
Код VS сообщество
Anonymous
Сообщество-то какое? Верстальщики приемущественно))
Loyd
Ладно, я не знаю о чём мы говорим. Покажи пример используемой библиотеки, где так используется node_modules, тогда будет о чём говорить.
Anonymous
И питонисты
Nikolay
Anonymous
А кто с этим спорит) Я как раз наоборот подтверждаю явление. Но это не отменяет того, что причиной бомбежки является стадный инстинкт и нежелание читать код
Vladimir
А в чем проблема просто использовать require как положено?
Anonymous
А как положено? Если механизм поиска модулей реализован в самом require и я использую это, почему вдруг это стало "не положено".
Loyd
Потому что идиомы.
Anonymous
Давайте объявим эту фичу depracated
Loyd
Ты можешь называть переменные в under_score, и это будет работать и это будет "Я используя механизм резолва переменных", но это будет неидиоматично.
Anonymous
Не передергивай
Loyd
А почему бы и нет?
Anonymous
Ну если у меня 3 версии lodash, то я таки напишу что-то похожее.
Kanstantsin
Всегда делал симлинк в node_modules, только вчера начал делать с NODE_PATH - и на тебе говорят будет deprecated, так это так?
Loyd
Не deprecated, см выше ссылку на коммит и закрытый PR
Vladimir
deprecated
Vladimir
просто его не планируют удалять
Vladimir
legacy, в общем
Anonymous
Loyd
Anonymous
Vladimir
It's been semi-deprecated for ages but we have been stupid enough to leave it in the documentation without so much as a deprecation notice
Loyd
Что в замен-то?
Nikolay
https://github.com/nodejs/node/issues/1627
Vladimir
https://github.com/nodejs/node/blob/be68b68d4863f0d389cc46fdf6f1cbcd1b241d0a/doc/tsc-meetings/io.js/2015-04-08.md
Loyd
использовать относительные пути
Относительные пути отлично работают, когда мы говорим про структурную парадигму и строгую композицию. Вот только реальный мир не такой, увы. Как предлагаешь бороться с каким-нибудь ../../../../resources/offers.js?
Vladimir
Делать нормальную структуру папок
Nikolay
Vladimir
https://github.com/nodejs/node/issues/146
Loyd
Vladimir
С другой стороный, никто не мешает написать myRequire, который делает то, что вы хотите
Loyd
Vladimir
> Paul
И потерять поддержку IDE и прочих анализаторов?
да
Loyd
Vladimir
поддержку вы потряете в любом случае
Loyd
Нет, ибо NODE_PATH есть и о нём знают
Loyd
Обязаны знать, во всяким случае
Vladimir
он есть, но он есть где и когда?
Nikolay
ОМГ. Серьёзно?
Это один из вариантов, и в общем случае не вижу в нем ничего криминального. Чем меньше реквайров внутри модулей, тем лучше тестируемость, опять же.
Vladimir
откуда ide знает, какой NODE_PATH будет при запуске проекта?
Loyd
Loyd
Vladimir
каким тем же?
Loyd
Loyd
Nikolay
Почему грязный?
Потому что, одно дело когда у тебя есть модуль, у которого есть четкая сигнатура api, и ты знаешь, что он принимает и возвращает, даже не залезая внутрь самого модуля. И совсем другое, если внутри модуля используются какие-то зависимости, объявленные через require.
Loyd
Nikolay
http://krasimirtsonev.com/blog/article/how-require-import-may-decrease-your-testability
вот один из примеров того, о чем я говорю
Loyd
И где там про замену require?
Loyd
О чём ему в комментах и намекнули
Nikolay
ты предлагаешь отказаться от модульного подхода в пользу.. чего?
Я не предлагаю отказываться от модульного подхода. Я всего лишь говорю, что зачастую лучше, когда существует некий единый aggregation root, чем размазанные по всему проекту require, особенно "снизу вверх" по структуре (require('./../../../../offer')).
Loyd
Эм. Ты подменять будешь целый модуль, после резолва, а не этот путь.
Nikolay
Паш, я вообще верстальщик, и ни на чем не настаиваю, к чему этот спор? :)
Loyd
Ну ок.
ИТ
Всем привет, кто-нибудь может подсказать хорошую библиотеку для распарса жесткой xml ?
Yuriy
Алексей
Всем привет, кто-нибудь может подсказать хорошую библиотеку для распарса жесткой xml ?
Есть четыре базовые библиотеки
https://github.com/astro/node-expat
https://github.com/libxmljs/libxmljs
https://github.com/isaacs/sax-js
https://github.com/fb55/htmlparser2
На базе них есть ряд других библиотек - но выбор нужно сделать между этими ( sax-js - чистый JS без native зависимостей ) - ( node-expat - требует node-gyp и компиляцию как и libxmljs ) ( htmlparser2 - не смотря на свое название довольно хорошо парсит xml - тоже чистый JS )
xml2js базируется на sax-js но ему я не доверяю - он на coffeescript.
https://github.com/cheeriojs/cheerio ( лучшая либа на мой взгляд ) - базируется на htmlparser2
https://github.com/assistunion/xml-stream - node-expat
https://github.com/jimmyburgess/xml2js - sax-js
Sergey
#whois Привет!
Я по происхождению разработчик, сейчас у меня своя компания/команда разработчиков сложных веб-проектов (я в основном менеджерю, но иногда и сам что-то пишу), последнее время мы делаем фронт в основном на react+redux (nodejs для серверного ренеринга), бекенд чаще php, но есть проекты и nodejs (в основном там где нужна “честная” асинхронность).
Сообщество мне интересно для связи с отраслью, новостей и трендов, поиска ответов на вопросы. Я могу быть полезен прежде всего по вопросам архитектуры, отказоустойчивости и масштабирования веб-проектов в целом.
Vlad
Sergey
В зависимости от потребности :-) Типичный случай: два (или больше, в зависимости от нагрузки) разных физических сервера, на каждом подняты нужные сервисы (мы стараемся следовать микросервисной архитектуре), запросы балансируюся. Ну и конечно мониторинг этого всего, чтобы сразу узнать, когда что упало.