createProgram不尊重compileOptions.paths吗?

时间:2019-02-28 14:29:32

标签: typescript

这是一个测试用例:https://github.com/alekbarszczewski/test-compiler-options。 ts createProgram(...)似乎不尊重compileOptions.paths。程序输出为:

[ '.../test-compiler-options/src/dep1.ts',
  '.../test-compiler-options/src/main.ts' ]

应为:

[ '.../test-compiler-options/src/dep1.ts',
  '.../test-compiler-options/src/dep2.ts',
  '.../test-compiler-options/src/main.ts' ]

有什么主意我可以使它工作吗?

1 个答案:

答案 0 :(得分:1)

根据typescript文档,在使用baseUrl时需要指定paths

const program = ts.createProgram(
  [join(__dirname, 'main.ts')],
  {
    baseUrl: '.', // <- add this
    paths: {
      '@/*': ['src/*'],
    },
  },
);

如果这不起作用,请使用相对路径(作为解决方法)从main.ts导入模块,然后在typescript处提交错误。