代码之家  ›  专栏  ›  技术社区  ›  Deniss M.

如何在没有linting错误的情况下配置角度项目tsconfig paths[]?

  •  1
  • Deniss M.  · 技术社区  · 6 年前

    t配置.ts

    {
      "compileOnSave": false,
      "compilerOptions": {
        "baseUrl": "src",
        "paths": {
          "@app/*": ["app/*"],
          "@pages/*": ["app/pages/*"]
          ...
        },
    

    然后我们可以在其他ts文件中使用更干净的导入,如下所示:

    import {UrlConstants} from '@app/common/constants/url-constants';
    

    Module '@app/common' is not listed as dependency in package.json
    

    有没有什么办法可以解决这个问题而不用重新使用 ./***/***/ 对于进口?

    1 回复  |  直到 6 年前
        1
  •  4
  •   Aluan Haddad Vikrant Kashyap    5 年前

    您可以使用白名单配置规则,如本文所述 https://palantir.github.io/tslint/rules/no-implicit-dependencies

    看起来是这样的:

    tslint.json文件

    {
      "rules": {
        "no-implicit-dependencies": [
          true,
          [
            "app",
            "pages"
          ],
          "dev"
        ]
      }
    }
    

    “dev”选项实际上并不适合您的场景,但是如果您像我喜欢的那样lint您的测试,它会很有用。

    就我个人而言,我认为这个规则应该更聪明,在某种程度上尝试解析tsconfig的路径。有时一个人有许多路径,而不是每个人都使用NPM。JSPM用户可能不得不禁用这个规则,这是一个遗憾,因为如果你没有碰到这个困难的边缘,这个规则是非常有动机和非常有用的。

    现在应该可以了 @ 前缀路径为 https://github.com/palantir/tslint/pull/4192 "app" "pages" .