使用TypeScript 3项目参考时出现“找不到模块”错误

时间:2018-09-11 20:04:24

标签: typescript typescript3.0

我正在尝试使 TypeScript 3的项目引用正常工作,但是很难从引用的项目中导入函数。

我有一个引用了 Shared ProjectA 。这是文件结构:

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 :(得分:1)

您需要使用要导入的文件的完整相对路径,就像文件在同一项目中一样:

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