Karma Runner не находит путь к модулю ES6 из tsconfig.json - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь загрузить внешний модуль, который сгенерировал Karma Config. Этот модуль в основном предоставляет содержимое файла karma.config.js

Это проект Angular 6. Настройка такова, что мой tsconfig.json выглядит как

{
  "compileOnSave": true,
  "compilerOptions": {
    "module": "commonjs",
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "noImplicitAny": true,
    "noImplicitReturns": true,
    "noImplicitThis": true,
    "noUnusedParameters": true,
    "skipLibCheck": true,
    "strictNullChecks": true,
    "sourceMap": true,
    "newLine": "LF",
    "moduleResolution": "node",
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ],
    "paths": {
      "test-config": [
        "dist/test-config"
      ]
    }
  }
}

Отображение test-config указывает на dist / test-config. Я проверил, что этот каталог существует и его содержимое соответствует действительности.

angular.json я говорю такие вещи, как

 "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "projects/components/src/test.ts",
            "tsConfig": "projects/components/tsconfig.json",
            "karmaConfig": "projects/components/karma.config.ts"
          }
        },

Мой karma.config.ts загружает внешний модуль es6 в качестве первой строки.

import { ExtendedKarmaConfig } from "test-config";

Когда я запускаю карму-бегун по команде ng test, он не может найти test-config. Как я могу это исправить?

1 Ответ

0 голосов
/ 18 мая 2018

Вы должны переместить файл в другое место. '/ dist' удаляется при сборке cli. Кроме того, вы говорите TS, чтобы найти test-config в каталоге /dist/test-config.

...