Сообщение об ошибке «Не удается найти модуль» с gulp-jasmine - PullRequest
0 голосов
/ 12 мая 2018

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

Мои выходные файлы ts test находятся в той же папке, что и источники: 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 Ответ

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

попробовать:

import EngineA from "./engines/engineA"

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

...