• Angular2 как сделать server side rendering?

    @bromzh
    Drugs-driven development
    https://github.com/angular/universal-starter
    В файле src/server.ts все ответы. Суть такая:
    1) создаём express-приложение
    let app = express();
    2) настраиваем обработку .html-файлов на ангуляровский рендерер из universe
    app.engine('.html', expressEngine);
    app.set('views', __dirname);
    app.set('view engine', 'html');

    3) Создаём функцию-обработчик, которая будет рендерить ангуляр-приложение на сервере, если пользователь зайдёт по определённым ссылкам
    function ngApp(req, res) {
      let baseUrl = '/';
      let url = req.originalUrl || '/';
      res.render('index', {
        directives: [ Html ],
        ...
      }
    }

    4) В этой функции каким-то образом надо подключить корневой компонент App. В приведённой ссылке это делается так: создаётся компонент Html (src/server-only-app/html.component.ts), который содержит полностью весь код index.html (кроме тегов html). Можно было просто в функцию ngApp указать в поле directives корневой компонент.
    5) Запускаем приложуху
    app.use(express.static(root, {index: false}));
    
    // Routes with html5pushstate
    app.use('/', ngApp);
    app.use('/about', ngApp);
    app.use('/home', ngApp);
    
    // Server
    app.listen(3000, () => {
      console.log('Listen on http://localhost:3000');
    });
    Ответ написан
    3 комментария
  • Как аргументировать начальству создание существующего проекта заново, с ноля?

    @lega
    В большинстве случаев это экономический не целесообразно, и профессионал должен это учитывать.

    В вашем случае лучше попытаться плавно интегрировать опыт в текущий проект, разграничивая старый и новый код, (компоненты, микросервисы, "черные ящики" и т.п.), так же по чуть чуть можно будет подменять компоненты старого кода, на новые.
    В итоге через какое-то время новый код будет превалировать, и может даже можно будет завернуть старый код в отдельный ящик чтобы не вонял на весь проект.
    Ответ написан
    4 комментария
  • Как аргументировать начальству создание существующего проекта заново, с ноля?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Начальство боится потерять то, что уже есть и как-то работает. Если вы будете делать новое параллельно , во внеурочное время, думаю никто не будет против :) У меня такой опыт;
    Нам передали проект с говнокодом, и архитектор и сен. дев. сказали что нужно переписать все с нуля, иначе это нам потом аукнется. Ответственный руководитель, добрый но трусливый, не дал ход изменениям. Через год руководитель ушел. И мы остались сидеть на говнокоде. А переписать все заняло бы наверно 2 недели упорной работы. Теперь просто некогда. Жаль что не решились. В принципе начальника можно было тогда уломать, но никто не был достаточно настойчив.

    По моему опыте с обобщающими ассоциациями нужно быть осторожным. Это может интерпретироваться как болтология и нежелание работать. Мол возмущаться и жаловаться все горазды..

    Думаю самый очевидный аргумент, что такая архитектура не расширяется и достигла своего предела. Если мы планируем расширяться, то нужна новая, модульная, распределенная архитектура, где несколько людей смогут работать над несколькими файлами параллельно, а фреймворк гарантирует что это все вместе будет потом работать. Посмотрите еще сколько эта страница загружается. Наверняка дольше чем нужно. Скажите что это негативно влияет на конверсию (Это чистая правда, есть статьи на хабре)
    Ответ написан
    Комментировать
  • Как аргументировать начальству создание существующего проекта заново, с ноля?

    Zifix
    @Zifix
    Barbatum
    Аргументировать надо тем, что стоимость поддержки возрастает кратно, вероятность накосячить тоже, причем не по вашей вине.

    Грубо говоря на вот эту фичу я потратил Х, а если была бы нормальная система, потратил бы Х/5, и хотя Х величина не такая уж большая, за Y времени набегает сумма сравнимая с переписыванием. Но отдаем мы только проценты по техническому долгу, а тело все увеличивается и увеличивается, и за Y*2 мы потеряем вот столько.

    Заготовьте самые яркие примеры, отправьте ссылки на статьи про Рефакторинг и Технический долг на википедии, они написаны для неспециалистов. Не бойтесь слегка загрузить их терминами, и аналогии нужно применять осторожно, лучше если они будут в профессиональной сфере.

    Первые четыре абзаца вопроса тоже хорошие, можно их использовать.
    Ответ написан
    1 комментарий
  • Как аргументировать начальству создание существующего проекта заново, с ноля?

    Sanasol
    @Sanasol Куратор тега Веб-разработка
    нельзя просто так взять и загуглить ошибку
    Для вас это делать все хорошо и правильно.
    Для начальников и так работает, а надо перестать вдруг всё "новое делать" и писать с нуля и потратить (ваша з.п. * N месяцев) = кучу бабла

    Никакие аналогии не прокатят, только если этоне затронет текущую работу и вашу занятость, читай как будешь писать параллельно апдейты для текущего сайта и не забивать на него и при этом пилить новую версию.
    Ответ написан
    Комментировать
  • Как аргументировать начальству создание существующего проекта заново, с ноля?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    Задача сайта - выполнять свою бизнес задачу, а не демонстрировать красивый код в исходниках.

    Поэтому единственное, что является главным аргументом, это то, что все ваши нововведения приведут к положительному экономическому эффекту.
    То есть либо вы доказываете, что фирма заработает на этом деньги, либо сэкономит.

    Если ни то, ни другое, то с какой стати платить больше?
    Ответ написан
    11 комментариев
  • Как аргументировать начальству создание существующего проекта заново, с ноля?

    sim3x
    @sim3x
    Никак

    Они или дойдут до етого сами и тогда наймут приличного СТО, который с большой вероятностью уволит всю команду

    Или не дойдут и медленно умрут

    Если менее критично, то тебе нужно искать книги по практике переговоров

    Также стоит убрать дизайнера от руководства тех деталями

    react - clojure
    https://www.youtube.com/watch?v=WssdWSbAPKE
    Ответ написан
    3 комментария
  • Как делать server-side rendering React.js на php?

    Делайте на PHP rest API и отдельно ставьте nodejs для рендеринга фронтенда... и будет вам счастье!)
    Ответ написан
    Комментировать