标签: tslint

如何配置 tslint 以检查 Angular2 中的 no-unused-variable

你知道如何配置 tslint 来检查 angular2 中的 no-unused-variable 和 unsed 导入,我已经在我的 tslint 文件中添加了这两行

"no-unused-expression": true,
"no-unused-variable": true,
Run Code Online (Sandbox Code Playgroud)

但它可能不起作用,有什么想法吗?

tslint angular

4
推荐指数
1
解决办法
1871
查看次数

导入语句单引号与双引号

使用如下导入时:

import { Component, OnInit } from "@angular/core";
Run Code Online (Sandbox Code Playgroud)

在“@angular/core”周围使用单引号或双引号是惯例吗?

TSLint 表示:

[tslint] " should be ' (quotemark)
Run Code Online (Sandbox Code Playgroud)

这看起来很奇怪,因为该文件是使用 angular-cli 命令创建的

ng g c someComponent 
Run Code Online (Sandbox Code Playgroud)

所以它似乎会创建打字稿标准的导入,所以现在我不确定哪种格式是正确的。

typescript tslint

4
推荐指数
1
解决办法
7600
查看次数

“没有为 JavaScript 文件指定有效规则”是什么意思?

我有一个 React - Typescript 创建的:

create-react-app my-app --scripts-version=react-scripts-ts
Run Code Online (Sandbox Code Playgroud)

它编译得很好,但每次我看到这条消息或警告时:

No valid rules have been specified for JavaScript files
Run Code Online (Sandbox Code Playgroud)

任何想法如何摆脱它?

> react-scripts-ts build

Creating an optimized production build...
Starting type checking and linting service...
Using 1 worker with 2048MB memory limit
ts-loader: Using typescript@2.8.3 and /Users/julian/my-app/tsconfig.json
No valid rules have been specified for JavaScript files
Compiled successfully.
Run Code Online (Sandbox Code Playgroud)

我的 tscongif.json 和 tslint.json 文件可以在这里找到:https ://gist.github.com/JulianG/be82d9fa20f48f60ce10371fa5095230

typescript reactjs tsconfig tslint

4
推荐指数
1
解决办法
6025
查看次数

我可以控制“ tslint --fix”自动修复哪些规则吗?

运行时可以控制自动修复哪些规则tslint --fix吗?理想情况下,我只想自动修复空白和引号规则,然后我将手动评估其余部分。我似乎在文档中找不到任何内容可以告诉我哪些规则可以自动修复,或者如何控制要应用的规则,并且我对盲目地修复所有内容有些担心。

我目前正在使用Angular CLI自动生成的tslint文件。

typescript tslint angular

4
推荐指数
1
解决办法
1463
查看次数

Visual Studio Code 中的 TS Lint 突然指示错误的 lint 错误

我已经 5 周没有碰过 VS Code 或我的电脑了(假期),现在突然间 TS lint 开始疯狂地显示完全不正确的 lint 错误。它们甚至还没有接近正确,并且它在未更改且之前没有 lint 错误的文件中显示了这一点。它基本上向我抛出随机错误。如果我通过终端检查它不会报告任何错误。

这种情况在 VS Code 和 Atom 中都发生过多次。真的不知道它是如何修复的,它只是出现然后最终消失。

有人经历过这种情况或者知道这可能是什么吗?

在此输入图像描述

lint typescript tslint visual-studio-code linter

4
推荐指数
1
解决办法
4720
查看次数

no-unused-variable TSLint 规则不适用于私有 @HostBinding

在我的 TSLint 文件中,我有:

"no-unused-variable": true
Run Code Online (Sandbox Code Playgroud)

在我的组件中,有时我有:

// tslint:disable-next-line:no-unused-variable
@HostBinding('class') private classes = 'my-theme';
Run Code Online (Sandbox Code Playgroud)

因为classes是私有的,TSLint 抱怨,所以我每次都必须禁用 TSLint。

因为封装我不想公开。@HostBinding

解决这个问题的推荐方法是什么?

encapsulation tslint angular2-hostbinding angular angular6

4
推荐指数
1
解决办法
1245
查看次数

Mobx-State-Tree-分配给数组类型

我有这个基本模型。

const stuff = types.model({
  term: types.string,
  excludeTerm: types.string,
  stores: types.array(types.string)
}).actions(self => ({
  setTerm(term: string) {
    self.term = term
  },
  setExcludeTerm(term: string) {
    self.excludeTerm = term
  },
  setStores(stores: string[]) {
    self.stores = stores   // <<< the lint error is on this line
  }
}))
Run Code Online (Sandbox Code Playgroud)

我收到以下TS Lint错误:

Type 'string[]' is not assignable to type 'IMSTArray<ISimpleType<string>> & IStateTreeNode<IArrayType<ISimpleType<string>>>'. Type 'string[]' is missing the following properties from type 'IMSTArray<ISimpleType<string>>': spliceWithArray, observe, intercept, clear, and 4 more.ts(2322)

这是一个令人讨厌的错误。我可以这样分配来修复它:(self as any).stores = stores …

typescript tslint mobx mobx-react mobx-state-tree

4
推荐指数
3
解决办法
1300
查看次数

在目录上运行 ng lint 时遇到问题

我正在尝试使用 Angular 8 附带的 linter,但我有一段时间忽略了 TSLint 错误。我希望慢慢地清除错误,并且我正在寻找一种在整个目录上运行 linter 的方法,其中一些目录可能有多个子目录。

我查看了 ng lint 的 Angular 文档,但没有发现任何有用的内容(或者我可能忽略了某些内容)。我以为我正在寻找的是--files标志,但我一定做错了什么,因为当我运行时ng lint --files,我只能让它使用单个文件,而不是整个目录。

例如,使用ng lint --files src/app/+register/registration.component.ts效果很好。

有人对此有什么想法吗?我很想得到一些帮助。

提前致谢!

typescript tslint angular

4
推荐指数
1
解决办法
5198
查看次数

将 tsconfig 设置为忽略“类型‘bar’上不存在属性‘foo’。” 但仅针对特定变量

我有一个foo在代码库中使用的对象,需要bar从中访问属性。然而,由于特定情况,ts 认为其上不存在财产,尽管实际上存在。所以我到处都看到这条消息的红线:

类型“bar”上不存在属性“foo”

在我的 ts-config 文件中,我想将其设置为忽略所有这些错误,但仅限于变量foo

这可以做到吗?

lint typescript tsconfig tslint

4
推荐指数
1
解决办法
4238
查看次数

禁止在 Nrwl Nx 中的同一库中导入桶文件

假设我们有一个应用程序和一个库Nrwl Nx

\n\n
/apps\n  /myApp\n\n/libs\n  /myLib\n    /components\n       /my.component.ts\n       /other.component.ts\n    /index.ts\n
Run Code Online (Sandbox Code Playgroud)\n\n

我已经设置了标签nx.jsonnx-enforce-module-boundaries规则来阻止在库中导入应用程序。它有效,这部分很好。

\n\n

我想做的另一件事是强制在库中使用桶文件。所以我创建了一条路径tsconfig.ts

\n\n
"paths": {\n   "@myNs/my-lib": ["libs/myLib/index.ts"]\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我遇到了这个问题。假设我们有从 导出的东西index.ts

\n\n
// index.ts\nexport { MyComponent } from \'./components/my.component\';\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在,如果我们使用一些自动导入 IDE 功能(例如 fromWebStormVS Code)。他们将MyComponent使用路径导入@myNs/my-lib- 这是预期的,因为我刚刚像这样配置了它。

\n\n

当我想自动导入里面的东西时,一个真正的问题出现了myLib(这些导入应该是相对的,而不是@myNs/my-lib) - 根据逻辑和这篇文章([这里有趣的文章]):

\n\n
\n

永远不要让 lib 从它自己的 Barrel 文件导入

\n\n

特定库中的 TypeScript 模块不应该关心该库公开的功能,因此它不应该在任何时候使用自己的 Barrel 文件。

\n\n

如果模块从其自己的桶文件中导入某些内容,则几乎总是会导致循环引用错误。因此,从模块内部的导入应使用相对路径导入。

\n …

webstorm tslint visual-studio-code angular nrwl

4
推荐指数
1
解决办法
4834
查看次数