Подтвердить что ты не робот

Как настроить Babel 6 с помощью Node JS для использования ES6 в моем коде на стороне сервера?

Я несколько раз читал документацию по адресу: Документация по Node API Babel 6

Я начинаю изучать pg-обещание после учебного пособия Learn by Example и предпочитаю работать с ES6 и переходить на ES5 с Babel, но не уверен в некоторых вещах:

  1. После установки babel-core, какой пресет я использую и где/как мне настроить это для работы?

Документация была неясной для меня о том, какой файл я помещаю: require ("babel-core"). Transform ("code", options); в и какие части этого кода являются заполнителями. Когда я использую этот код, могу ли я использовать его один раз где-нибудь, а затем я могу использовать ES6 в любом другом файле? Как это будет достигнуто?

  1. Я прочитал об этом файле .babelrc и хотел бы подтвердить, является ли фактическое имя файла ".babelrc" или это просто расширение файла и где я могу поместить этот файл относительно корневого каталога моего проекта... и как это сделать Я ссылку на это?

  2. Если я использую pg-обещание, должен ли я использовать ES6 и Babel или будет достаточно: npm install, как описано в разделе " Тестирование " для pg-обещания, будет достаточно, и попытка использовать ES6 с этим создаст больше проблем?

Я надеялся воспользоваться возможностью let and const, если возникнет необходимость во время моей разработки на стороне сервера.

  1. Существует ли стандартная файловая структура для настройки узла + babel + pg-обещание сервера?

Редактировать Стоит отметить, что я также прочитал Node JS с Babel-Node и увидел, что этого следует избегать. Окончательный ответ в самом низу не имел для меня смысла по тем же причинам, по которым у меня возникли проблемы с фактической документацией, предоставленной Бабелем.

4b9b3361

Ответ 1

1.a Какой пресет нужен?

Вам нужно будет сначала установить Babel с npm install babel-core --save-dev в корневой каталог вашего проекта, используя окно терминала, например Command Prompt.

После установки вам необходимо установить es2015 пресет с помощью npm install babel-preset-es2015 --save-dev. Babel-Core Promises/A + Compliant , но не идеальный для использования из-за плохой обработки ошибок, поэтому для этой цели следует использовать библиотеку, такую ​​как Bluebird. Для того, чтобы перекрыть, необходимо будет установить базовое ядро ​​babel, и es2015 позволяет передавать ES6- > ES5, чтобы вы могли использовать причудливые вещи, такие как let и const и т.д.

1.b Где положить require("babel-core");?

вместо этого используйте require("babel-core/register"); и поместите его в свой файл, который обычно вызывается, "server.js". Файл server.js должен использовать исключительно CommonJS (ES5).

Используя оператор require, он применит все соответствующие преобразования ко всему требуемому коду в файл Entry и все файлы, необходимые/включены в эти файлы.

Вы указываете файл Запись внутри package.json в разделе "main":.

Package.json создается, когда вы инициализируете проект с помощью npm init в корневом каталоге вашего проекта внутри окна терминала.

Один из подходов к этому:

  • Файл записи - server.js
  • server.js - требуется {babel-core и основной файл ES6: config.js/jsx/es6/es}
  • config.es6 - использует ES6 и включает (требует) для всех других файлов проекта, которые также могут использовать ES6 по мере их пересылки путем загрузки в файл конфигурации, который непосредственно передается by babel-core.

2. Что такое .babelrc?

.babelrc - это имя файла и должно быть помещено в ту же папку, что и ваш файл package.json(обычно это корневой каталог), и будет автоматически загружаться, когда базовый ящик должен определить, какие пресеты или плагины должны использоваться.

Внутри .babelrc вам нужно будет добавить следующий код:

{
  "presets": ["es2015"]
}

3. Секция тестирования pg-prom

Прямая цитата от разработчика недавно ответила на это

Вам не нужно беспокоиться о шагах в тестах, используйте только шаги в установке. Тот, который в тестах относится к установке зависимостей dev, для запуска тестов. Pg-prom может работать с любой библиотекой обещаний, соответствующей спецификации Promises/A +.

4. Стандартная структура файлов/папок для проектов на стороне сервера?

Нет стандартного способа достижения этой задачи, так как каждый проект имеет уникальные требования. Хорошей отправной точкой было бы размещение файла Entry в корневом каталоге проекта, файла ES6 Config в подпапках "scripts" или "src" и отдельных компонентах в папках ниже этого.

например.

  • ROOT/server.js
  • ROOT/SRC/config.es6
  • ROOT/SRC/component1/files.es6
  • ROOT/SRC/component2/files.es6

С этим на месте Babel успешно перенесет все ES6 на ES5 и включит поддержку A +-совместимого promises.

Чтобы начать использовать веб-сервер node.js Это Руководство дает немного больше информации, и в контексте этого ответа показанный код будет быть помещенным в файл config.es6 ES6, и следующий код войдет в файл Entry server.js:

require("babel-core/register");
require("./src/config.es6");

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

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

Ответ 2

  • Этот ответ использует эту простую структуру каталогов

    project/server/src/index.js = > ваш файл сервера

    project/server/dist/ = > где babel поместит ваш файл с расширением

  • Установка зависимостей babel

    npm install -g babel nodemon

    npm install --save-dev babel-core babel-preset-es2015

  • Добавьте эти скрипты npm в файл package.json

    "scripts": { "compile": "babel server/src --out-dir server/dist", "server": "nodemon server/dist/index.js }

  • Создайте файл .babelrc в корневом каталоге проекта

    { "presets": "es2015" }

  • Перетащите каталог с помощью

    npm run compile

  • Запустите сервер с помощью

    npm run server

Ответ 3

Я думаю, что вам нужно использовать инструмент типа grunt или gulp для управления всеми вашими "сборками" задач. Он автоматизирует его для вас, и вы не будете делать ошибок.

В одной команде вы можете переслать свой код в babel ES2015 и запустить свое приложение.

Я предлагаю вам взглянуть на этот простой проект. (просто установите node_modules и запустите npm, чтобы запустить файл app.js)

Однако, если вы действительно хотите использовать babel вручную,

  • .babelrc - это имя файла, вы можете увидеть его в этом проекте (сокращение), чтобы иметь пример

  • .babelrc - это файл конфигурации, если вы хотите увидеть, как он работает, вы можете проверить this package.json(всегда сокращение)

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

Ответ 4

@упрости

Шаг 1

npm install nodemon --save

В каталоге проекта

Шаг 2

yarn add babel-cli

yarn add babel-preset-es2015

Шаг: 2 В пакете. json-> scipts меняют 'start' на следующий

start: "nodemon src/server.js --exec babel-node --presets es2015"

Шаг 3

yarn start