使用 TypeScript 3 项目参考时出现“找不到模块”错误
Posted
技术标签:
【中文标题】使用 TypeScript 3 项目参考时出现“找不到模块”错误【英文标题】:"Cannot find module" error when using TypeScript 3 Project References 【发布时间】:2019-02-16 09:41:19 【问题描述】:我正在尝试使 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();
“找不到模块 '../../Shared'”的 TS 编译器错误
尝试导入 guid 函数时我做错了什么?任何帮助将不胜感激
【问题讨论】:
【参考方案1】:您需要使用要从中导入的文件的完整相对路径,就像文件在同一个项目中一样:
import guid from "../../Shared/src/utils";
【讨论】:
我使用路径映射使我的模块以更好看的方式访问:typescriptlang.org/docs/handbook/…。我知道这不是最初的问题,但有些人可能喜欢使用 import * from 'my-module' 而不是 import * from '../../my-module' 所以我想在这里提一下.以上是关于使用 TypeScript 3 项目参考时出现“找不到模块”错误的主要内容,如果未能解决你的问题,请参考以下文章
在 TypeScript 中定义返回函数的函数类型时出现“找不到参数”
Typescript:更新 Firebase 函数依赖项时出现编译错误
在 TypeScript 文件中使用 node.d.ts 时出现编译错误