如何禁用 TSLint 警告 - 深度导入

Posted

技术标签:

【中文标题】如何禁用 TSLint 警告 - 深度导入【英文标题】:How to disable TSLint Warning - deep imports 【发布时间】:2020-08-06 08:41:40 【问题描述】:

我在编译 Angular 通用应用程序时收到此警告

警告:入口点“我的模块”包含深度导入 '/src/app/mocks/myModule.ts'。这可能不是问题,但可能 导致入口点的编译无序。

我在 tsconfig 中有一个路径更改,它有效并且是我想要的功能。我希望能够禁用这个特定的警告。我认为我可以对 tslint.json 进行一些更改,以允许一起进行深度导入,或者在这种特殊情况下允许它。

ESlint 似乎有 nx-enforce-module-boundaries,但我认为这不适用于我,因为这个项目使用 TSLint。但是,我还是尝试了,但没有成功:


  "extends": "tslint:recommended",
  "rules": 
    "nx-enforce-module-boundaries": [
      true,
      
        "allow": [
          ["/src/app/mocks/myModule.ts"]
        ]
      
    ],
    ...

我在TSLint Rules 中找不到任何似乎对我有帮助的东西。有什么想法吗?

【问题讨论】:

这与 Nx 无关,因为此警告来自 Angular CLI(可能还有 webpack)。它也不是来自 TSLint,因此更改该配置对您没有帮助。 【参考方案1】:

我最终只使用了自定义 webpack,因为我不知道如何禁用警告。 Webpack 没有深度导入警告:

module.exports = 
    plugins: [
        new webpack.NormalModuleReplacementPlugin(/^myModule$/, path.join(__dirname, './src/app/mocks/myModule.mock.server.ts')),
    ]

https://github.com/just-jeb/angular-builders/tree/master/packages/custom-webpack

【讨论】:

以上是关于如何禁用 TSLint 警告 - 深度导入的主要内容,如果未能解决你的问题,请参考以下文章

如何在 VScode 中禁用 tslint 检查?

如何避免 tslint 特定规则?

使用 tslint:disable 为代码块禁用 tslint 不起作用

tslint:禁用在 vscode 中不起作用

tslint 正确的错误/警告处理

如何在 TSLint 中启用“仅错误预防”? (禁用样式检查等)