【问题标题】:Madge skips imported typescript fileMadge 跳过导入的打字稿文件
【发布时间】:2020-03-22 19:21:34
【问题描述】:

我想使用 madge 打印一个 Javascript 依赖图。它成功打印给定文件的所有依赖项。不幸的是,它会跳过导入的 .ts 文件,随后不会在图表中显示它们。

这是我的配置 (.madgerc):

{
    "fileExtensions": ["js", "ts"],
    "tsConfig": "./tsconfig.json",
    "graphVizOptions": {
        "G": {
            "splines": "ortho"
        }
    }
}

这是我的tsconfig.json

{
  "compilerOptions": {
    "esModuleInterop": true,
    "allowJs": true,
    "preserveConstEnums": true,
    "module": "commonjs",
    "target": "ES2018",
    "moduleResolution": "node",
    "noEmit": true,
    "rootDir": "../"
  }
}

我是这样运行 madge 的:

madge src/main/path/to/file/view-model.js --warning --debug -i ~/Desktop/graph/view-model.png

打印出来:

✔ Image created at /Users/patrick/Desktop/graph/view-model.png

✖ Skipped 1 file

./transform-sponsor

transform-sponsor 被导入到我的 Javascript 文件中,如下所示:

const {transformSponsors} = require('./transform-sponsor');

所以我的问题是,为什么 madge 会跳过我的打字稿文件。即使我特意添加了tsconfig 文件,如documentation 中所述?

【问题讨论】:

    标签: madge


    【解决方案1】:

    根据我的经验,JavaScript - 文件比 Typescript 文件好得多。我的解决方案是在转译的 JavaScript - 文件上使用 madge,而不是在原始的 Typescript - src - 文件上使用。

    我真的不知道你的问题的答案,但我认为 madge 最初是为 JavaScript 制作的 - 文件和 TypeScript 只是 JavaScript 的超集,因此对 madge 来说并不那么重要 - 开发人员(请不要扔香蕉当这不是真的时对我说)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-25
      • 2020-04-19
      • 2023-02-09
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 2017-02-28
      相关资源
      最近更新 更多