Бабель не компилирует все файлы - PullRequest
0 голосов
/ 31 октября 2018

Я запускаю новый проект с Babel 7 + Typescript. Я изучаю Typescript, и объединить их было непросто. Мне удалось это сделать, но у меня все еще есть одна проблема.

Когда я компилирую свой проект, все файлы .ts из ./src/ преобразуются в файлы .js в ./dist/. Все точечные файлы игнорируются, что ожидается. Однако все файлы, которые не имеют расширения .ts в ./src/, также игнорируются.

Вот некоторые из многих команд, которые я пробовал:

// package.json
"scripts": {
    // build1 compiles only the .js files
    "build1": "babel src --out-dir dist",

    // build2 compiles only the .ts files
    "build2": "babel src --out-dir dist --extensions \".ts\"",

    //build 3 compiles only the .ts files
    "build3": "babel src --out-dir dist --extensions \".ts, .js\"",

    //build 4 compiles only the .js files
    "build4": "babel src --out-dir dist --extensions \".js, .ts\""
},

Вот мой конфигурационный файл babel

// babel.config.js
module.exports = {
  presets: [
    "@babel/env",
    "@babel/typescript",
  ],
  plugins: [
    "transform-dynamic-import",
    "@babel/proposal-class-properties",
    "@babel/proposal-object-rest-spread"
  ],
};

Есть идеи?

Большое спасибо!

Обновление: Удаление пробела из аргумента --extension работает, но теперь у меня есть побочный эффект, которого я раньше не наблюдал. При выполнении команды "babel src --out-dir dist --extensions \".ts,.js,.json\"" я вижу проблему с файлами .json, которые также преобразуются в .js. Я хотел бы, чтобы babel преобразовал .ts в .js, скомпилировал файлы .js и просто скопировал любой другой файл как есть.

1 Ответ

0 голосов
/ 31 октября 2018

Я наконец нашел решение. Мне пришлось добавить аргумент --copy-files к команде.

babel src --out-dir dist --extensions \ ". Ts, .js \" --copy-files

--extensions \".ts,.js\" приказывает babel скомпилировать все файлы .ts и .js.

--copy-files говорит babel скопировать все остальные файлы.

...