我正在尝试使 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'”
尝试导入 guid 函数时我在做什么错?任何帮助将不胜感激
答案 0 :(得分:1)
您需要使用要导入的文件的完整相对路径,就像文件在同一项目中一样:
import { guid } from "../../Shared/src/utils";