All streams
Search
Write a publication
Pull to refresh
1
0
Send message

Я почитал комментарии и заметил, что с вами вести адекватную беседу сложно, так как вы прыгаете с темы на тему. У нас есть проблема, большой список. Ниже вам описали, как решить ее. Вы тут же переходите на обработку данных.
Я бы с радостью обсудил проблемы React, но, увы, мало кто способен на это. Хотелось бы разобрать все по полочкам

Фреймворк, HTML-шаблоны
Явно автор знает, о чем поветсвует

Какой смысл в таких статьях, если они быстро устаревают? Куда проще почитать офф. доки нужной либы
Лучше бы раскрыли, какой смысл в Mobx
Мне вот очень нравится Mobx, но смущает его магия. Свободного времени сложно найти на то, что бы разобраться в его магии и разобраться, где стоит использовать мобикс, а где нет. Было бы приятно почитать статью на эту тему

"Нативные" промисы очень медленные. Надо брать Bluebird

Про async/await чистая ложь
Во-первых, transform-async-to-generator просто заменяет все await на yield и оборачивает функцию в вызов функции co (github.com/tj/co, можно свою реализацию подставить). Также есть asynctogen, с которым нет смысла тащить babel, если других фич не используете
Во-вторых, у вас включен regenerator, и поэтому код страшный

Вы серьезно? Как вообще можно разрабатывать под какую-нибудь платформу, не зная документации? Я считаю, что это статься не достойна главной, так как тут ничего нового для среднего разработчика Node.js не найти
Документация Node.js очень маленькая и простая, потому что Node.js по сути обретка над различными библиотеками, в отличии от PHP, Ruby, Python и других языков, где стандартные библиотеки богаты различными интересными штуками, о которых в документации если и есть что-то, то это нужно хорошенько поискать

Про Babel обманка, здесь у вас включен regenerator, который не очень нужен, если используется firefox > 45 или chrome > 50
Также async/await, генераторы, Promise входят в стандарт ECMAScript, и даже самый передовой async/await доступен в Node 7 и Chrome 55
А сколько кода придется писать, что бы впихнуть $mol_object в React, Vue, Angular2 и т.д.?
Лучше пускай будет +10 строчек читабельного boilerplate-кода, чем какое-нибудь скрытое непонятное нечто

Есть еще Hapi, Sails, Kraken
А еще можно взять роутер из PillarJS и использовать чистый http.createServer()
Мы, в JavaScript мире, всегда имеем выбор, и если не из чего выбрать, то делаем свою игрушку
И нужно ценить выбор других, а не кидаться вопросом "зачем"


И да, против async/await ничего не имею, когда есть возможность, то тыкаю, но это не панацея, так как по сути промисы это красивая обертка над колбеками

Статься хорошая, но очень много мелких недочетов
Например в строке app.use(require(...)) мне захотелось ударить вас :-)
Нужно всегда делать в начале файла const module = require('module') и уже потом использовать его
Каждый require синхронный и, очевидно, блочит весь процесс
function Logger(destination, lvl) {
    return lvl => msg => destination(lvl, msg)
}

function logToConsole(methodForConsole = 'log') {
    return (lvl, msg) => console[methodForConsole](`Level: ${lvl}, Message: ${msg}`)
}

function logToDom(node) {
    return (lvl, msg) => node.innerHTML = msg
}

const loggerToConsole = Logger(logToConsole())
const warnToConsole = loggerToConsole('warn')
warnToConsole('Hello, world!')

const loggerToDom = Logger(logToDom(document.querySelector('#output')))
const errorToDom = loggerToDom('error')
errorToDom('<h1 style="color:red;">Oh no!</h1>')

Красиво, удобно, масштабируемо
Если обновился модуль, то собирается только он сам
Это длится не больше четверти секунды, если модуль очень жирный и от него зависят другие модули
https://webpack.github.io/docs/hot-module-replacement-with-webpack.html
Компилер, парсер, трансплайер, минификатор, статический анализатор JS
Lodash, React, Webpack
В этом нет ничего страшного, это нормально
Поставь с десяток пакетов по ключевому слову React и у тебя вырастит папка node_modules аж на 5 мегабайт!
Иногда стоит запускать npm dedupe и npm prune, что бы удалить дупликаты и выпилить лишние пакеты, от которых ничего не зависит
Пора бы уже научится использовать npm или не использовать его вообще, как и все, что связано с JS
Аж целые 200 мс на передачу модуля по WebSocket
Ах да, 15 мс на инъекцию во всех другие модули
Извиняюсь за ошибки в своем комментарии
github.com/yogurt1/hotux
Boilerplate с процессе разработки, но тут можете увидеть, что вся конфигурация webpack умещается в одном файле на 205 строк
Конфиг универсален для всех сред — клиент, сервер, тесты Karma
В будующем планирую расширить до React Native, Electron и поддержки других библиотек и фреймворков, кроме React
Хуки для импорта компонентов на сервере находятся в файле boot.js
Буду рад пожеланиям и исправлениям
eject и пили свои костыли. Я вот отточил настрою вебпака до идеала и смысла во всех этих бойлерплейтах не вижу, если только не универсальный бойлерплейт, где нужно наворачивать костыли, что бы на сервере можно было сделать импорт стилей и картинок в компонентах
Руки просто у вас кривые, раз не осиливаете современный инструментарий JS
Парсер JS, сборщик JS, компилятор JS, транслятор JS, полифиллы JS, оптимизация JS, минификация JS, украшение JS, сжатие JS
Логирование, работа с сетью, реализация Virtual DOM, библиотека функций Lodas
И еще куча всего, что нужно для работы тех или иных пакетов
Если готов написать свой сборщик JS с HMR и CSS, рад буду использовать
А еще запилил свой аналог React
С Redux можешь не заморачиваться, он мало весит
React в первую очередь дает возможность удобно управлять состоянием
А уже потом «шаблонизатор» и VirtualDOM
И да, есть Preact, React-lite и т.д.

Information

Rating
Does not participate
Registered
Activity