Requirejs 从迁移1.0.3到1.1或更高版本中断的导入语句

Requirejs 从迁移1.0.3到1.1或更高版本中断的导入语句,requirejs,typescript,amd,Requirejs,Typescript,Amd,在AMD模式中使用typescript,导入语句从版本1.0.3中断为1.1 目录结构: 电池包括/TextWriter.ts BatteryIncluded/Registry.ts 代码注册表.ts: import TextWriter = require("BatteryIncluded/TextWriter"); class Registry <ValueType> { // etc... } export = Registry; 在typescript版本1.

在AMD模式中使用typescript,导入语句从版本1.0.3中断为1.1

目录结构:

  • 电池包括/TextWriter.ts
  • BatteryIncluded/Registry.ts
代码注册表.ts:

import TextWriter = require("BatteryIncluded/TextWriter");

class Registry <ValueType> {
   // etc...
}

export = Registry;
在typescript版本1.0.3中,不会发生此错误。但在版本1.1或更高版本中,错误为:

"C:/Program Files/nodejs/node.exe" C:\PROJECT_GIT\TypeScript\built\local\tsc.js --sourcemap --    target ES5 --module AMD Registry.ts
Registry.ts(2,29): error TS2307: Cannot find external module 'BatteryIncluded/TextWriter'.
以以下形式使用typescript:

node C:\PROJECT_GIT\TypeScript\built\local\tsc.js --sourcemap --target ES5 --module AMD $FileName$

要解决此问题,我可以使用import语句:

import TextWriter = require("./TextWriter");
这是不需要的,因为我需要对所有深度嵌套的文件执行以下操作:

import TextWriter = require("../../../TextWriter");
在此之前,您可以使用:

import TextWriter = require("BatteryIncluded/TextWriter");

我在TypeScript GitHub Repo上搜索了可能暗示此错误的版本更改,但找不到任何更改

我刚刚下载了TypeScript1.1来测试它,它对我来说很有用-唯一的区别是我的入口点是根目录中的
app.ts
,它加载
batteryInclude/Registry
,然后加载
batteryInclude/TextWriter
,并且编译得很好

我想,如果您将编译器指向
BatteryIncluded/Registry
,它可能会假定这是根,这将使路径无效。我测试了这个理论,它对我来说也很好

唯一剩下的区别是我是从命令行编译的

-也许您可以让他们看看您是否遇到任何问题(本例中的嵌套文件夹名称为
nested

import TextWriter = require("BatteryIncluded/TextWriter");