要求使用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'。