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

Все публикации из этой серии:
Часть 1: Введение
Часть 2: Инициализация и первый файл
Часть 3: Использование синтаксиса ES2015
Часть 4: Применение руководства по стилю
Часть 5: Настройка сервера Express
Часть 6: Использование модуля Bundler
Часть 7 : Настройка React и лучшие практики
Часть 8: Настройка Redux
Часть 9: Настройка React Router
Часть 10: TDD и настройка Jest

Лучший синтаксис

ES2015 является значительным обновлением языка и предоставляет огромное количество полезных функций. Если вы до сих пор не привыкли к синтаксису ES2015, то позор вам.

Поддержка новых функций ES2015 постоянно увеличивается в современных браузерах и других средах, таких как Node.js, но печальная правда заключается в том, что не все новые функции поддерживаются, а поддержка одной функции может различаться в разных браузерах, но есть не отчаивайся дружище - выход есть.

Транспилер

ES2015 - это, по сути, просто синтаксический сахар, что означает, что мы можем использовать инструмент для преобразования кода, написанного в синтаксисе ES2015, в простой синтаксис ES5, который поддерживается всеми браузерами. Искомый транспайлер называется Babel.

Babel - это ниспосланный небесами волшебный инструмент, позволяющий использовать лучшую версию JavaScript сегодня. Мы собираемся использовать его для преобразования нашего кода ES2015 в обычный JavaScript.

Установите Babel в проект как зависимость:

$ npm install --save babel-core babel-cli

Babel не будет работать прямо из коробки, вам нужно будет настроить его и указать, какие функции вы хотите включить. Вы можете настроить Babel разными способами, один из них - с помощью файла .babelrc.

Создайте файл .babelrc в корневом каталоге проекта и измените его содержимое, чтобы оно соответствовало следующему:

{
    "presets": [],
    "plugins": []
}

Чтобы сообщить Babel о компиляции кода ES2015 в обычный ES5, мы собираемся установить пресет ES2015, а затем добавить его в список пресетов.

Еще один полезный пресет - stage-0, мы собираемся добавить его, чтобы включить новые функции, такие как Преобразование разброса остатков объекта и Динамический импорт.

$ npm install --save babel-preset-es2015 babel-preset-stage-0

Теперь давайте обновим файл .babelrc, чтобы включить оба пресета:

{
    "presets": ["es2015", "stage-0"],
    "plugins": []
}

Измените содержимое файла index.js и используйте код ES2015:

/**
 * index.js
 */
const logSomething = options => ({
  ...options,
  anotherOption: 'Hello!'
});
const options = logSomething({ one: '1', two: '2' });
console.log(options);

Выполните в терминале следующую команду:

$ npx babel-node index.js

Вы должны увидеть следующий результат:

{ one: ‘1’, two: ‘2’, anotherOption: ‘Hello!’ }

Если у вас есть Node.js v8.1.4 (это то, что у меня есть) или ниже и вы попытаетесь npm start сейчас, вы получите синтаксическую ошибку о неожиданном токене. Эта ошибка не возникает с Node.js v8.5.0 или новее, на самом деле вам может вообще не понадобиться использовать Babel с последней версией Node.

Учитывая, что ваша версия Node.js может быть 8.1.4 или ниже, измените сценарий «start» в файле package.json на babel-node вместо node.

{
  ...
  "scripts": {
    "start": "babel-node ./index.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  ...
}

Если вы снова запустите npm start, все должно работать нормально, так что давайте продолжим.

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

Заключение

ES2015 - это настоящее и будущее, и он предоставляет огромное количество полезных функций, и вы должны изучить его, если вы еще этого не сделали.

ES2015 еще не полностью поддерживается, но поддержка увеличивается, и вы можете использовать Babel для преобразования синтаксиса ES2015 в обычный JavaScript, чтобы обеспечить кроссбраузерность.

Была ли эта статья полезной? Пожалуйста, нажмите кнопку Хлопать ниже или подписывайтесь на меня, чтобы узнать больше.

Спасибо за прочтение! Если у вас есть отзывы, оставьте комментарий ниже.

Переходите к части 4: Применение руководства по стилю