tslint说不允许调用console.log - 我该如何允许?

时间:2018-04-23 21:54:49

标签: reactjs typescript create-react-app tslint

我刚开始使用带有typescript的create-react-app

create-react-app my-app --scripts-version=react-scripts-ts

并且默认的tslint.json配置不允许使用console.log()。

我如何(现在)启用console.log?

此文档位于https://palantir.github.io/tslint/rules/no-console/。但是他们没有说明在哪一行:

    "no-console": [true, "log", "error"]

我搜索并找到了这个tslint.json configuration file syntax,所以我尝试了这个:

"rules": {
    "no-console": [true, "warning"]
}

尝试获取只是警告的日志消息。 但那没用。

我已经注释掉了我拥有的几条console.log()行,但希望以后可以这样做。

9 个答案:

答案 0 :(得分:116)

在调用// tslint:disable-next-line:no-console之前的行中添加console.log,以防止出现错误消息一次。

如果要完全禁用该规则,请将以下内容添加到tslint.json(最有可能位于根文件夹中):

{
    "rules": {
        "no-console": false
    }
}

答案 1 :(得分:18)

对于那些来这里使用javascript和打字稿混合代码库的人。

您可能需要在jsRules(用于javascript文件的jslints规则对象)中定义“无控制台”选项,即,针对javascript和typescript的规则对象分别存在。

// tslint.json

{
  "extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"], //Example... 
  "rules": {
    "no-console": false //Disable for typescript
  },
  "jsRules": {
    "no-console": false //Disable for javascript
  }
}

答案 2 :(得分:1)

将以下内容添加到您的tslint.json

{
   "rules": {
      "no-console": {
         "severity": "warning",
      } 
   }
}

答案 3 :(得分:1)

这是定义无控制台规则(或与此相关的任何其他规则)的正确语法,但仅带有警告而非错误(显然将选项更改为所需的任何内容)

"no-console": {
    "severity": "warning",
    "options": [
        "log",
        "error",
        "debug",
        "info",
        "time",
        "timeEnd",
        "trace"
    ]
},

答案 4 :(得分:1)

在typeScript版本3中,按照如下所示的关键规则更新tslint.json:

"no-console": [
    true,
    "debug",
    "time",
    "timeEnd",
    "trace"
],

通过这种方式,您只需指定不使用的调试,时间,timeEnd,跟踪,如果列表中的默认tslint“信息”在列表中,则将其删除。

答案 5 :(得分:1)

我处理 tslint“无控制台”规则的方式是在开发阶段方便并隔离每个文件。

一旦我需要使用第一个console.log(); Visual Studio Code显示了添加选项:

// tslint:disable-next-line:无控制台

console.log();

所以在这里我只删除“ -next-line”,此命令将覆盖整个文件。

// tslint:disable:无控制台

console.log();

我希望它可以作为禁用整个应用程序功能的替代方法。

RON

答案 6 :(得分:0)

根据文档:https://eslint.org/docs/user-guide/getting-started#configuration

  • "关闭"或0 - 关闭规则
  • "警告"或1 - 将规则打开作为警告(不影响退出代码)
  • "错误"或2 - 将规则作为错误开启(退出代码为1)

顺便说一下,你的正确设置是

{
  "rules": {
    "no-console": false
  }
}

答案 7 :(得分:0)

如果// tslint:disable-next-line:no-console不起作用,请尝试使用// eslint:disable-next-line:no-console

答案 8 :(得分:0)

  {
    "extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"],
    "linterOptions": {
        "exclude": [
            "config/**/*.js",
            "node_modules/**/*.ts",
            "coverage/lcov-report/*.js"
        ]
    },
    "rules": {
        "no-console": false
    },
    "jsRules": {
        "no-console": false
    }
 }

enter image description here