0

在我的 Angular CLI 项目中,我想将所有配置文件移动到一个我命名为“angular”的新文件夹中。代码编译并且所有 npm 脚本都运行,但我的app文件夹中没有出现任何 linting 或 typescript 错误。这是我正在尝试的文件夹结构:

 project
    │   tslint.config.json
    │   tslint.json    
    │
    └───src
         │   
         └───angular
         │   tsconfig.app.json
         │   tslint.json
         │     
         └───app
              │   app.module.ts
              │   app.component.ts

我的 angular.json 文件中的所有引用都已更新,并且没有错误,但 linter 工作的唯一位置是“angular”文件夹的内部!如何将其更改为指向我的“应用程序”文件夹?我想要进行这种自定义的原因是为了让我几乎不使用的文件像这样保持在视野之外:

在此处输入图像描述

4

1 回答 1

3

根据您的目录结构图像,我假设您正在尝试专门配置 VS Code 以提供语法突出显示?

如果是这样,您可以为您的项目创建一个特定于工作区的配置,明确定义 VS Code 可以在哪里找到 tslint.json 配置。默认情况下,VS Code 会在项目的根目录中查找 tslint 配置。为了设置您自己的工作区配置,您可以按照VS Code 文档中的说明进行操作。在我的 Mac 上,我选择以下菜单项:

代码 -> 首选项 -> 设置

从那里我选择:

工作区设置侧边栏中的“工作区设置”选项卡和扩展 -> TSLint

配置文件有一个属性,您可以在其中设置 TSLint 配置的路径,相对于项目的根目录。对你来说,这将是“./src/angular/tslint.json”

TSLint 配置文件位置

为了获得项目的 tslint 控制台输出,您必须明确定义 tslint 和 tsconfig 配置文件存在的位置,因为它们不在项目的根目录中:

tslint -c src/angular/tslint.json -p src/angular/tsconfig.json

我相信VS Code 默认配置为使用本地安装的 Typescript 版本,基于安装在您的 node_modules/typescript 目录中的版本。因此,您将继续收到基于本地 typescript 安装或全局安装 typescript 版本的 typescript 错误反馈。

打字稿文档指出:

目录中存在 tsconfig.json 文件表明该目录是TypeScript 项目的根目录。

因此,将您的 tsconfig.json 移动到项目根目录以外的任何地方都会违背您的打字稿配置的预期性质,但是如果您的 tsconfig.json 不位于项目的根目录,您仍然可以通过调用(或创建一个 npm 脚本做同样的事情):

tsc --project ./src/angular/tsconfig.json

假设您的 tsconfig.json 中有一个“包含”定义:

{
  "compilerOptions": {
    /* your compiler options */
  },
  "include": [
    // source code for project is one directory up from tsconfig.json
    "../**/*",
  ]
}
于 2018-09-27T20:02:49.747 回答