Неожиданный экспорт токена NestJS - PullRequest
0 голосов
/ 16 июня 2020

У меня есть проект Nest JS, созданный из установки по умолчанию, т.е.

$ npm i -g @nestjs/cli
$ nest new project-name

Я поместил файл vanilla JS в папку, которую я назвал static в root проект. Файл JS содержит массив из javascript объектов (имитирующих источник данных). Я использовал синтаксис ES6 export, поэтому я могу импортировать файл в файлы Nest JS Typescript. Вот фрагмент файла:

export const pokemons = [
{
    "id": 1,
    "name": {
      "english": "Bulbasaur",
    },
    "type": [
      "Grass",
      "Poison"
    ],
    "base": {
      "HP": 45,
      "Attack": 49,
      "Defense": 49,
      "Sp. Attack": 65,
      "Sp. Defense": 65,
      "Speed": 45
    }
  },
  {
    "id": 2,
    "name": {
      "english": "Ivysaur",
    },
    "type": [
        "Grass",
        "Poison"
      ],
      ...

После запуска программы я получаю SyntaxError: Unexpected token 'export'. Насколько я понимаю, в документации Nest JS упоминается, что:

Nest использует преимущества новейших языковых функций, поэтому для использования его с vanilla JavaScript нам нужен компилятор Babel.

Хорошо, хорошо. Глядя на инструкции по установке Babel, кажется, что есть 3 шага:

  1. Выполнение этих команд для установки пакетов:
npm install --save-dev @babel/core @babel/cli @babel/preset-env
npm install --save @babel/polyfill
Создание файла конфигурации с именем babel.config. json в root вашего проекта с этим содержимым:
{
  "presets": [
    [
      "@babel/env",
      {
        "targets": {
          "edge": "17",
          "firefox": "60",
          "chrome": "67",
          "safari": "11.1",
        },
        "useBuiltIns": "usage",
        "corejs": "3.6.4",
      }
    ]
  ]
}
И выполнение этой команды для компиляции всего вашего кода из каталога sr c в lib:
./node_modules/.bin/babel src --out-dir lib

Я не уверен, как лучше всего включить использование Babel в Nest JS. Все, что мне нужно, это смоделировать файл JS как простое хранилище данных, из которого я могу получать данные, когда HTTP-запросы отправляются на сервер Nest JS. Это просто для целей разработки. Какая бы простая установка позволила мне запустить сервер Nest JS и использовать файл JS с синтаксисом ES6 export для работы.

Заранее спасибо.

...