angular - 错误 TS6059:/interfaces/ICard.ts' 不在 'rootDir' 下。'rootDir' 应包含所有源文件
问题描述
我的项目结构如下:
Some ASP.NET Dir
-projects/lib1
/lib2
-src (Angular app)
-package.json
-angular.json
In lib2:
/src
-lib
-interfaces
-ICard.ts
-services
-ui-components
-card
-card.component.ts
ui-components.module.ts
package.json (UI component's)
public_api.ts (UI component's)
public-api.ts
package.json
tsconfig.lib.json
src 的 public_api.ts:
export * from './lib/lib.service';
export * from './lib/lib.component';
export * from './lib/lib.module';
export { ICard } from './lib/interfaces/ICard';
在 card.component.ts 中:
import { Component, OnInit, ViewEncapsulation, Input } from '@angular/core';
import { ICard } from '../../interfaces/ICard';
import { CommonHelperService } from '../../services/common-helper.service';
@Component({
selector: 'lib-card',
templateUrl: './card.component.html',
styleUrls: ['./card.component.scss'],
encapsulation: ViewEncapsulation.ShadowDom,
})
export class CardComponent implements OnInit {
@Input() Card: ICard;
constructor(private commonHelper: CommonHelperService) {}
ngOnInit(): void {
this.Card = this.commonHelper.DefaultCardFallback;
}
}
在 tsconfig.lib.json
/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "../../out-tsc/lib",
"target": "es2015",
"declaration": true,
"inlineSources": true,
"types": [],
"lib": [
"dom",
"es2018"
]
},
"angularCompilerOptions": {
"skipTemplateCodegen": true,
"strictMetadataEmit": true,
"enableResourceInlining": true
},
"exclude": [
"src/test.ts",
"**/*.spec.ts"
]
}
构建此库时出现此错误:
错误 TS6059:文件“ASP.NET/projects/lib/src/lib/interfaces/ICard.ts”不在“rootDir”“ASP.NET\projects\lib\src\lib\ui-components”下。'rootDir' 应包含所有源文件。
为什么打字稿不包括界面?接口导出的正确方法应该是什么?
解决方案
推荐阅读
- firebase - 为单个查询禁用 Firestore 缓存
- dart - 如何从 dart 中的 txt 文件获取输入和写入输出
- reactjs - 在 react-map-gl 中画线时有什么问题吗?
- r - 打印没有列名的 data.frame
- facebook - Facebook Graph API:帐户访问令牌与页面访问令牌数据访问到期
- c++ - 覆盖 C++ 中的静态方法
- c++ - 为什么我不使用 getline() 时必须使用 cin.ignore?
- gunicorn - 当工人重新启动时,是否可以让 gunicorn 重用 pid?
- c++ - 在 C++ 中设置控制台窗口标题时遇到问题
- reactjs - 我们可以直接从 React 等前端应用程序连接 AWS Secret Manager 吗?