Должны ли мы использовать Jade или React в качестве движка просмотра в expressjs - PullRequest
1 голос
/ 24 июня 2019

Я новичок в expressjs и начал строить проект с помощью MERN Stack.

Я не совсем понимаю, какой движок просмотра мне использовать: jade \ pug, EJS, React.

Я уже использовал jade для рендеринга страниц с контентом из mongodb в браузер. Должен ли я использовать бэкэнд для обслуживания контента в json вместо того, чтобы отображать всю страницу как HTML.

Я также пытался реализовать https://github.com/reactjs/express-react-views так что я могу использовать React для рендеринга страницы с сервера. Но есть некоторые проблемы с пакетами 'express-messages' и 'connect-flash' npm.

1 Ответ

1 голос
/ 24 июня 2019

По моему скромному мнению, это зависит от ваших предпочтений . На самом деле не имеет значения, какой шаблон / движок вы выберете, так как вы только учитесь и практикуетесь. Их кривая обучения крутая .
Вы даже можете изучить их бесплатно, посмотрев несколько качественных видеороликов на YouTube, и вы получите полную картину.
Они просто инструменты, не более того.

Личное мнение: Назовите два популярных, которые я лично использую: мопс (нефрит) и EJS.
EJS без суеты, сохраняя внешний вид обычного HTML-файла.


Там у вас был свой ответ. НО :

Однако, на самом деле, если вы работаете на кого-то другого или, возможно, позже у вас будут личные предпочтения, вы будете иметь дело с такими конструкциями API, как: REST и GraphQL .

Это означает, что ваш view отделен от серверной части, которая является частью архитектуры MVC, предоставляя клиентской стороне возможность работать с ним, и именно здесь RESTful/GraphQl API обеспечивает связь в режиме онлайн между сервером и клиент.


Так что это означает, что вам нужно выбрать каркас внешнего интерфейса, из популярных, React, Angular или Vue.
Выбор внешнего интерфейса намного лучше, чем оставить ваш view на каком-то шаблонизаторе. Не только больше гибкости, но и делает вас более желанным на рынке.

Поскольку вы уже имеете дело с React, как стек MERN, и ваше личное предпочтение состоит в том, чтобы все это было на стороне сервера, Next.js будет отличным вариантом попробовать.

Даже на сайте, предназначенном для стипендиатов MERN (https://mern.io/),, чтобы процитировать:
Мы рекомендуем использовать Next.js для ваших проектов React.

Next.js - это, в основном, React на стороне сервера, который позволяет вам создавать View с помощью надежной структуры вместо механизма шаблонов, обладающей такой гибкостью и мощностью.


Поскольку вы используете Express в качестве основы для Node.js, эта статья полезна для использования Next.js с Express:

Создание серверного приложения React с помощью Next.js & Express.js


Несколько статей, которые будут вам интересны:

Шаблоны на стороне сервера против REST API и Javascript Front-End

Есть ли причина использовать рендеринг на стороне сервера вместо HTTP API + JS Frontend? [закрыто]

...