Перевести JSX на JS на сервере или в браузере? - PullRequest
0 голосов
/ 21 января 2020

Очень плохо знаком с JSX, но, читая его, кажется, что возможны варианты как на стороне сервера, так и на стороне клиента (в браузере).

Предназначен ли JSX для отправки клиенту и обычно передается в браузере . Означает ли это, что современные версии Chrome, Firefox, Opera et c все понимают синтаксис JSX?

Или транспиляция на стороне сервера более распространена? Хотели бы вы, чтобы клиент выполнял транспиляцию только во время разработки, например, чтобы избежать установки npm по какой-либо причине?

Ответы [ 2 ]

1 голос
/ 21 января 2020

Предназначен ли JSX для отправки клиенту и обычно передается в браузере.

Нет.

Означает ли это современные версии Chrome , Firefox, Opera et c все понимают синтаксис JSX?

Нет.

См. введение в React :

Самый быстрый способ попробовать JSX в вашем проекте - добавить этот тег на свою страницу:

<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>

Теперь вы можете использовать JSX в любом теге <script>, добавив к нему атрибут type="text/babel". Ниже приведен пример файла HTML с JSX, который вы можете загружать и воспроизводить.

Для этого необходимо предоставить транспортер (записанный в JS).

Или транспирация на стороне сервера более распространена? Хотели бы вы только транслировать на стороне клиента во время разработки, например, чтобы по какой-то причине избежать установки npm?

Опять же, смотрите ссылку выше:

Этот подход отлично подходит для изучения и создания простых демонстраций. Тем не менее, это делает ваш сайт медленным и не подходит для производства . Когда вы будете готовы двигаться вперед, удалите этот новый тег <script> и добавленные атрибуты type="text/babel". Вместо этого в следующем разделе вы настроите препроцессор JSX для автоматического преобразования всех ваших <script> тегов.


Транспортировка на стороне браузера подходит только для «изучения и создания простых демонстраций» .

0 голосов
/ 21 января 2020

По вашей ссылке: «JSX выполняет оптимизацию при компиляции исходного кода в JavaScript. Сгенерированный код работает быстрее, чем эквивалентный код, написанный непосредственно в JavaScript». Их другое утверждение «предназначено для работы в современных веб-браузерах», возможно, вводит в заблуждение - они не означают, что браузеры могут запускать его напрямую без трансплантации - код JSX по-прежнему необходимо преобразовать в чистый Javascript, прежде чем браузер сможет его использовать.

...