Can';“得不到”;“十字路口”;在typescript中作为requirejs AMD模块加载
我正在尝试将javascript应用程序移植到使用requirejs的typescript。我正在使用@mhegazy在DefinitelyTyped的类型定义: Typescript编译器给了我以下错误 错误TS2307:找不到外部模块“十字路口” 这在javascript中使用“defines”完成了所有工作 我只是用这个库作为一个完整的例子。我错过了什么?如果TSC真的关注requirejs配置,那么文档就很难挖掘。我知道十字路口取决于js信号。 不同目录中的定义和ts文件是否存在问题? 从我所读到的内容来看,我甚至不必提出参考意见。但如果我尝试使用相对路径,它也找不到 这是我的应用程序结构Can';“得不到”;“十字路口”;在typescript中作为requirejs AMD模块加载,requirejs,typescript,definitelytyped,Requirejs,Typescript,Definitelytyped,我正在尝试将javascript应用程序移植到使用requirejs的typescript。我正在使用@mhegazy在DefinitelyTyped的类型定义: Typescript编译器给了我以下错误 错误TS2307:找不到外部模块“十字路口” 这在javascript中使用“defines”完成了所有工作 我只是用这个库作为一个完整的例子。我错过了什么?如果TSC真的关注requirejs配置,那么文档就很难挖掘。我知道十字路口取决于js信号。 不同目录中的定义和ts文件是否存在问题?
- index.html
- app/config.ts
- app/bootup.ts
- app/someclass.ts
- 打字/十字路口/十字路口d.ts
- 打字/要求js/require.d.ts
- bower_组件/crossroads/dist/crossroads.js
- bower_组件/requirejs/require.js
<script data-main="app/config" src="bower_components/requirejs/require.js>
</script>
导入十字路口=需要(“十字路口”)代码> 要使用
import/require
,您需要:
- 指向TypeScript文件的相对路径李>
- 声明的外部模块李>
declare module 'crossroads'{
export = crossroads;
}
更新我已更新了定义,因此您无需执行此操作:享受 太棒了-我得出了同样的结论,打算做一个拉动请求。为什么declare模块名称必须是字符串?typescript实际上正在读取requirejs配置吗?谢谢另外,十字路口取决于js信号。在使用crossroads的类中包含此依赖项的正确方法是什么?需要js配置垫片处理吗?或者typescript类中应该有一个实际的导入,在这种情况下,它还需要模块声明…我还需要amd依赖项表示法。typescript是否实际读取requirejs配置?不。这意味着其他地方定义的东西可以被要求/导入。为什么明确类型的外部模块上几乎没有类型定义为此声明外部模块?因为这些LIB不在NPM上?编写defs的人没有使用外部模块
/// <reference path="../typings/crossroads/crossroads.d.ts" />
import crossroads = require("crossroads");
class SomeClass{
// do something with crossroads
}
declare module 'crossroads'{
export = crossroads;
}