【问题标题】:TsConfig.json path matching for all files in directory目录中所有文件的 TsConfig.json 路径匹配
【发布时间】:2019-01-04 16:31:09
【问题描述】:

我一直在研究tsconfig.json,发现它可以创建路径。 目前我能找到的唯一方法是这样的:

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

这让我可以做这样的事情:

import { dialogSale } from '@components/dialog-sale/dialog-sale.component';

这很好用,但是对于我的文件夹结构来说有点浪费时间,因为我的基本路径已经在应用程序中,所以我只需要这样做,实际上短了 1 个字符:

import { dialogSale } from 'components/dialog-sale/dialog-sale.component';

我想要做的是缩短我的导入语句以及减少子目录的开发人员错误是能够像这样使用:

import { dialogSale } from '@components/dialog-sale.component';

以上将是最理想的,因为它减少了开发人员错误的机会以及导入语句的直截了当。

【问题讨论】:

    标签: typescript import path glob tsconfig


    【解决方案1】:

    如果您希望它更短,您应该进一步指定您的路径。 例如:

    "compilerOptions": {
      "baseUrl": "./src/app",
      "paths": {
        "@components": ["components/dialog-sale/*"]
     }
    }
    

    然后你可以使用:

    import { dialogSale } from '@components/dialog-sale.component';
    

    如果您以后想添加与对话销售不同的其他“组件”,这将不太实用。在这种情况下,您可以这样做:

    "compilerOptions": {
      "baseUrl": "./src/app",
      "paths": {
        "@dialogSale": ["components/dialog-sale/*"]
     }
    }
    

    并使用:

    import { dialogSale } from '@dialogSale/dialog-sale.component';
    

    取决于它如何最适合您。 希望这会有所帮助!

    【讨论】:

    • 嘿 Leslie 实际上忘记了这篇文章。我会将其标记为正确,但如果您还可以添加更具包容性的 glob 模式,例如“components/**/*”,那么它在“components”中的任何文件都会很棒,而不仅仅是在“components/”中对话销售',这更好。谢谢
    猜你喜欢
    • 2014-10-01
    • 2011-03-07
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-06
    • 2017-04-03
    • 1970-01-01
    相关资源
    最近更新 更多