要求使用index.js文件夹

我试图通过指定一个文件夹名称要求与index.js文件夹

import xyz = require("./xyz"); 

并得到一个编译错误“ 无法parsing外部模块xyz。模块不能被别名到非模块types”。

如果我指定索引

 import xyz = require("./xyz/index"); 

有用。

如果我做

 var xyz = require("./xyz"); 

它的工作原理,但我不明白xyz。

Typescript中不支持该function吗?

不,TypeScript不遵循Node.js的模块parsing规则,因为它们对于该平台非常具体。 TypeScript支持不遵循Node.js约定的多个平台。

TypeScript规范规定了关于相对模块分辨率:

如果导入声明指定了相对外部模块名称,则该名称将相对于引用模块文件path的目录进行parsing。 程序必须包含一个带有生成文件path的模块,否则会发生错误。 例如,在具有文件path“C:/ src / ui / main”的模块中,外部模块名称为“./editor”和“../lib/io”的文件path为“C:/ src / ui / editor'和'C:/ src / lib / io'。