Ошибка «Не удается найти модуль» при использовании ссылок на проект TypeScript 3 - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь заставить ссылки на проекты TypeScript 3 работать, но изо всех сил пытаюсь импортировать функцию из ссылочного проекта.

У меня есть ProjectA , который ссылается на Shared . Вот структура файла:

ProjectA
|_ src
|     |_person.ts
|_ tsconfig.json
|
Shared
|_ src
      |_utils.ts
|_ tsconfig.json

Вот utils.ts :

export function guid() {
  return "a guid";
}

Вот Shared / tsconfig.json :

{
  "compilerOptions": {
    "composite": true,
    "declaration": true,

    "target": "es5",
    "outDir": "dist",
    "module": "es6",
    "moduleResolution": "node",
    "sourceMap": true,
    "noImplicitReturns": true,
    "noImplicitAny": true
  },
  "include": ["src/**/*"]
}

Вот ProjectA / tsconfig.json :

{
  "compilerOptions": {
    "composite": true,
    "declaration": true,

    "target": "es5",
    "outDir": "dist",
    "module": "es6",
    "moduleResolution": "node",
    "sourceMap": true,
    "noImplicitReturns": true,
    "noImplicitAny": true
  },
  "include": ["src/**/*"],
  "references": [{ "path": "../shared" }]
}

Вот файл проблемы - person.ts :

import { guid } from "../../Shared";

class Person {
  id: string;
  name: string;
  constructor() {
    this.id = guid();
  }
}

Ошибки компилятора TS с "Не удается найти модуль" ../../Shared'"

enter image description here

Что я делаю неправильно, когда пытаюсь импортировать функцию guid ? Любая помощь будет оценена

1 Ответ

0 голосов
/ 13 сентября 2018

Вам необходимо использовать полный относительный путь к файлу, из которого вы импортируете, так же, как если бы файл находился в том же проекте:

import { guid } from "../../Shared/src/utils";
...