用requireJS加载一些typescript模块
loading some typescript modules with requireJS
我在使用RequireJs连接某些类型脚本类时遇到问题。在.ts文件中,我使用模块语法和AMD模块。我的主文件是GameLoader.ts,它返回游戏的一个实例。例如,我正在创建世界实例:
import World = require('Resources/Scripts/Game/Entities/Game/World');
...
var world = new World(json.world.level, json.world.size, json.world.passMap);
它工作得很好-世界真的需要功能
但在同一个文件(GameLoader.ts):
import Camera = require('Resources/Scripts/Game/Presentation/Camera/Camera');
...
var camera = new Camera();
相机是空对象(而不是函数)未捕获类型错误:相机不是函数文件已加载,但调试器显示其内容未被使用——函数定义中的断点不起作用。但在World中,断点是在加载主程序之前触发的。
找毛病,我试着从Camera.ts中删除所有东西。删除后,我以相同的方式从另一个文件(temp.ts)调用空相机:
import c = require('Resources/Scripts/Game/Presentation/Camera/Camera');
var cam = new c();
console.log(cam);
它奏效了。
编译器(Camera.js)在这两种情况下生成的Ts代码看起来是相同的。调用编译后的文件使用相同的方法-通过调用RequireJs API。
也许问题是指向文件GameLoader的循环引用?但我的应用程序是从类构建的,该游戏(从GameLoader导出的实例)只在它们的实例中使用。
抱歉我英语不好。
也许问题是指向文件GameLoader的循环引用?
可能吧。试试atom typescript中的依赖关系视图https://github.com/TypeStrong/atom-typescript#dependency-查看
我用RequireJs射中了我的腿。我试图从共享模块返回实例的问题。每一个依赖都试图创造新的。所以第一次——在我的情况下——一些模块在加载其他deps阶段时错过了。
相关文章:
- Typescript模块没有导出的成员-react
- Visual Studio 2015 Update 2-'中的TypeScript模块;要求'未定义
- 可以't在不提供文件扩展名的情况下导入TypeScript模块
- Typescript 0.9.1.1模块被拆分为几个.ts文件
- Typescript模块和systemjs.从内联脚本实例化类
- 通过 RequireJS 从 javascript 调用 TypeScript 模块
- jspm / jQuery / TypeScript - 模块“jquery”没有默认导出
- 来自 TypeScript 模块的 JavaScript IIFE 中的默认参数的目的是什么?
- 用requireJS加载一些typescript模块
- 运行时未定义Typescript模块
- 为什么“;这个“;在具有http promise的typescript模块中未定义
- 使用typescript模块进行Browserify -什么是最佳设计实践?
- 从typescript模块中注册Knockout.js组件视图模型
- Typescript模块放到单个JS文件中
- 需要帮助来理解Angular 2/Typescript模块在Prime NG中的声明
- 如何在NodeJS中公开TypeScript模块
- 无法使用——out将typescript模块(.ts)文件连接到单个输出(.js)中
- Typescript模块工厂模式
- 引用嵌套的TypeScript模块
- Typescript模块,需要外部node_modules