Ответ 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 и т.д., еще одним примером которого может быть Найдено здесь.
Этот ответ представляет собой комбинацию нескольких ключевых моментов, предоставленных другими ответами на этот вопрос, а также вклада опытных разработчиков и моих личных исследований и тестирования. Спасибо всем, кто помог в подготовке этого ответа.