我试图在tsconfig.json中包含一些文件,但它包含我不想包含的文件。 (我在任何地方都看到了搜索语法中使用的星号,但我不确定这个语法是什么,以及在哪里可以了解更多信息。)来自repo(带有未编译的源代码)我试图包含文件结尾于.ts
,但以.spec.ts
结尾的内容除外。
以下内容包含我想要的文件,但未成功排除我不想要的文件。
"include": ["node_modules/dashboard/**/*.ts"],
"exclude": ["node_modules/dashboard/**/*.spec.ts"],
如何排除这些文件?
编辑:首先使用**/**.ts
和**/**.spec.ts
。这是不正确的,但现在我已经纠正了它,我遇到了同样的问题。
答案 0 :(得分:11)
TypeScript handbook has a good write up on tsconfig file。
手册中的例子是:
"exclude": [
"node_modules",
"**/*.spec.ts"
]
请注意,**
用于任何文件夹,*
(单个星号)用于文件名通配符。
您通常不需要更具体,因为我想您会想要排除"所有规范文件"而不仅仅是特定子目录中的文件。
有些情况下,这不会起作用。
tsc app.ts
进行编译(或传递其他参数) - 执行此操作时将忽略您的tsconfig 答案 1 :(得分:1)
您可以使用
class SubjectResource extends ResourceSupport {
private final Subject subject;
public SubjectResource(Subject subject) {
String username = subject.getTeacher().getUsername();
this.subject = subject;
this.add(new Link(subject.uri, "subject-uri"));
this.add(linkTo(SubjectRestController.class, username).withRel("subjects"));
this.add(linkTo(
methodOn(SubjectRestController.class, username).readSubject(username,
subject.getId())).withSelfRel());
}
public Subject getSubject() {
return subject;
}
}
答案 2 :(得分:1)
更改为:
"include": ["node_modules/dashboard/**/*.ts"],
"exclude": ["node_modules/dashboard/**/*.spec.ts"],
将解决问题。来自documentation:
*匹配零个或多个字符(不包括目录分隔符)
?匹配任何一个字符(不包括目录分隔符)
** /递归匹配任何子目录
这是**的第二次使用,导致包含过多。