我是打字稿的新手(和javascript)。我进行了一个小测试,看看我是否可以根据阅读 AMD、查看基于 JS 的需求和查看 TS 文档来执行以下操作。
- 两个命名空间 Foo & Test
- 导入测试命名空间
- 创建实例定义
- 创建单例
测试.ts
export class TestClass {
constructor() {
}
testMethod(): void {
}
}
export function Singleton(): void {
}
脚
import Test = require('Test');
export class Bar {
private instance = new Test.TestClass();
private singleton = Test.Singleton;
constructor() {
this.instance.testMethod();
this.singleton();
}
}
生成的 JS
// Foo.js
define(["require", "exports", 'Test'], function(require, exports, __Test__) {
var Test = __Test__;
var Bar = (function () {
function Bar() {
this.instance = new Test.TestClass();
this.singleton = Test.Singleton;
this.instance.testMethod();
this.singleton();
}
return Bar;
})();
exports.Bar = Bar;
});
// Test.js
define(["require", "exports"], function(require, exports) {
var TestClass = (function () {
function TestClass() {
}
TestClass.prototype.testMethod = function () {
};
return TestClass;
})();
exports.TestClass = TestClass;
function Singleton() {
}
exports.Singleton = Singleton;
});
根据我上面的代码,我想做的事情列表是否正确?如果是这样,是的,如果不是,我想我可能误解了关于 AMD 的一些东西:(