我正在尝试使TypeScript 3 的项目引用正常工作,但很难从引用的项目中导入函数。
我有一个引用Shared的ProjectA。这是文件结构:
ProjectA
|_ src
| |_person.ts
|_ tsconfig.json
|
Shared
|_ src
|_utils.ts
|_ tsconfig.json
Run Code Online (Sandbox Code Playgroud)
这是utils.ts:
export function guid() {
return "a guid";
}
Run Code Online (Sandbox Code Playgroud)
这是Shared/tsconfig.json:
{
"compilerOptions": {
"composite": true,
"declaration": true,
"target": "es5",
"outDir": "dist",
"module": "es6",
"moduleResolution": "node",
"sourceMap": true,
"noImplicitReturns": true,
"noImplicitAny": true
},
"include": ["src/**/*"]
}
Run Code Online (Sandbox Code Playgroud)
这是ProjectA/tsconfig.json:
{
"compilerOptions": {
"composite": true,
"declaration": true,
"target": "es5",
"outDir": "dist",
"module": "es6",
"moduleResolution": …Run Code Online (Sandbox Code Playgroud) 我想利用 TypeScript 3.1 中的项目引用功能。我的项目编译后的目录结构原来是这样的:
.
??? A
? ??? a.ts
? ??? dist
? ? ??? A
? ? ? ??? a.js
? ? ??? Shared
? ? ??? shared.js
? ??? tsconfig.json
??? Shared
??? dist
? ??? shared.js
??? shared.ts
??? tsconfig.json
Run Code Online (Sandbox Code Playgroud)
目录内容Shared:
shared.ts:
export const name = "name";
Run Code Online (Sandbox Code Playgroud)
tsconfig.json:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"outDir": "dist",
"strict": true
}
}
Run Code Online (Sandbox Code Playgroud)
目录内容A:
a.ts:
import { name } from "../Shared/shared"; …Run Code Online (Sandbox Code Playgroud)