Сообщение об ошибке "Не удается найти модуль" с gulp-jasmine

Мои исходные файлы TS находятся в папке root / distr.

Мой вывод ts тестовых файлов находится в той же папке, что и исходные тексты: root / tests

У меня есть эта структура каталогов:

root
--- distr
   --- fileA.js
   --- api
      --- myapi.js
--- src
   --- fileA.ts
   --- api
       --- myapi.ts
--- tests
    --- unit
        --- specs
            --- api
                --- testA.spec.js
                --- testA.spec.ts

testA.spec.ts содержание:

import * as myapi from "api/myapi"; //<= this is where I get the error

describe("API: \"app/version\" route", () => {

    it("should return the version", (done) => {
        expect(200).toBe(200); //on purpose for now
        done();
    });
}

tsconfig.json содержание:

"outDir": "../distr",
"baseUrl": ".",
"paths": {
     "*": ["src/*"],
     "api/*": ["src/api/*"],
},

В gulpfile.js содержание, у меня есть:

runSequence('clean:tests', 'build:tests', 'jasmine', function() {
    done();
});


gulp.task('build:tests', function () {
    return gulp.src(['tests/**/*.ts'])
      .pipe(ts())
      .pipe(gulp.dest('tests/'));
});

gulp.task('jasmine', function(done) {

    return gulp.src('tests/**/*.spec.js')
        .pipe(plumber(function (error) {
            console.log(error.toString());
            this.emit('end');
        }))
        .pipe(jasmine());
})

Когда я запускаю команду gulp, я получаю:

[19:44:25] Starting 'build:tests'...
[19:44:28] Finished 'build:tests' after 2.39 s
[19:44:28] Starting 'jasmine'...
BLA:Error in plugin "gulp-jasmine"
Message:
    Cannot find module 'api/myapi'
Details:
    code: MODULE_NOT_FOUND

Есть идеи, почему я получаю это сообщение? Спасибо!

1 ответ

Пытаться:

import EngineA from "./engines/engineA"

(убедитесь, что локальный путь правильный). Если это так, то вы должны настроить "baseUrl": and "rootDirs" intsconfig.json` правильно. Удачи.

Другие вопросы по тегам