Angular 2 — tsconfig outDir

В настоящее время я разрабатываю приложение Angular2 и столкнулся со следующей проблемой: у меня есть несколько модульных тестов в моем проекте, и я не хочу, чтобы они отправлялись в папку /dist вместе с другим моим кодом. Структура моего проекта выглядит следующим образом:

dist/
 -app (compiled from src/app)
 -test (compiled from src/test)
src/
 -app
 -test

Теперь, используя «outDir» в моем tsconfig.json, я компилирую все файлы .js в каталог /dist. Что я хочу сделать, так это просто скомпилировать все файлы app/ts и отправить их в каталог /dist, но сохранить там скомпилированные файлы .js из моего каталога /test. Это должно выглядеть так:

dist/
 -app (compiled from src/app)
src/
 -app
 -test ( all compiled js files remain here )

Есть идеи?

Спасибо


person Тодор Иванов    schedule 13.02.2017    source источник


Ответы (1)


Вы можете попробовать следующее:

- src/
  - app/
  - test/
    - tsconfig.json
  - tsconfig.json

tsconfig.json для src/

{
  "compilerOptions": {
    "outDir": "../dist"
    [...]
  },
  "exclude": [],
  "include": ["./app"]
  [...]
}

tsconfig.json для test/

{
  "compilerOptions": {
    "outDir": "./"
    [...]
  },
  "extends": "../tsconfig.json",
  "include": ["./"]
  [...]
}

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

  • Из папки src для компиляции кода вашего приложения.

  • Из папки test для компиляции тестов.

person Romain    schedule 13.02.2017