Node.js 需要具有index.js的文件夹

Node.js 需要具有index.js的文件夹,node.js,typescript,Node.js,Typescript,我试图通过指定文件夹名称来要求使用index.js的文件夹 import xyz = require("./xyz"); 并获取编译错误“无法解析外部模块xyz。模块不能别名为非模块类型。” 如果我指定索引 import xyz = require("./xyz/index"); 它起作用了 如果我这样做 var xyz = require("./xyz"); 它可以工作,但我在xyz上没有智能感知 Typescript中不支持该功能吗?不,Typescript不遵循Node.js的模块解

我试图通过指定文件夹名称来要求使用index.js的文件夹

import xyz = require("./xyz");
并获取编译错误“无法解析外部模块xyz。模块不能别名为非模块类型。”

如果我指定索引

import xyz = require("./xyz/index");
它起作用了

如果我这样做

var xyz = require("./xyz");
它可以工作,但我在xyz上没有智能感知


Typescript中不支持该功能吗?

不,Typescript不遵循Node.js的模块解析规则,因为它们非常特定于该平台。TypeScript支持多个不遵循Node.js约定的平台

TypeScript规范说明了相对模块分辨率:

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


正如斯诺弗所说的那样。仅供参考,只需使用
require(“./xyz/index”)有一个功能请求可以投票:我甚至认为这在1.0RC(
/xyz/index
)中不起作用,至少我不能让它工作。