2014-01-24 33 views
2

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

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

要求与index.js的文件夹,并得到一个编译错误“无法解析外部模块XYZ的文件夹。模块不能被混叠到非模块类型。

如果我指定索引

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

它的工作原理。

如果我做

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

它的工作原理,但我得到的XYZ没有智能感知。

在Typescript中不支持该功能吗?

+0

由于snover metioned。 Fyi只要去'require(“./ xyz/index”);' – basarat

+0

有一个功能请求你可以投票:http://typescript.codeplex.com/workitem/2125 – basarat

+0

我甚至不认为这是在1.0RC('。/ xyz/index')中工作,至少我不能让它工作。 – kamranicus

回答

2

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

打字稿规范规定,对相关模块分辨率:

如果进口报关指定相对外部模块名称,该名称相对于引用模块的文件路径的目录解析。该程序必须包含一个带有生成文件路径的模块,否则会发生错误。例如,在文件路径为 'C:/ src/ui/main'的模块中,外部模块名称为'./editor'和'../lib/io'的参考模块的文件为 路径'C:/src/ui/editor'和'C:/ src/lib/io'。