如何在TypeScript中使用模块加载
在TypeScript中,我有如下代码: levenstein/LevensteinAlgorithm.ts如何在TypeScript中使用模块加载,typescript,Typescript,在TypeScript中,我有如下代码: levenstein/LevensteinAlgorithm.ts export module levenstein { export class LevensteinAlgorithm { getDistance(left: string, right: string): number { // Some code for the alogorithm... } } } 为了对其
export module levenstein {
export class LevensteinAlgorithm
{
getDistance(left: string, right: string): number {
// Some code for the alogorithm...
}
}
}
为了对其进行单元测试,我在另一个路径中编写了一个测试:
测试/levensteinAlgorithmTests.ts
/// <reference path="../scripts/typings/qunit/qunit.d.ts" />
/// <reference path="../levenstein/levensteinalgorithm.ts" />
QUnit.module("levensteinalgorithm.ts tests");
import levenstein = require("levenstein/LevensteinAlgorithm");
test("Simple update cost is equal to 1", ()=> {
// Arrange
var leven = new levenstein.LevensteinAlgorithm();
//...
我正在使用QUnit和Chutzpah来运行测试
我的模块加载有什么问题?因为您将
LevensteinAlgorithm
包装在内部模块levenstein
中,在外部模块中,将该对象导入为levenstein
后引用该对象的方法是levenstein.levenstein.LevensteinAlgorithm
这里最好的修复方法是从LevensteinAlgorithm.ts
中删除export模块Levenstein{
,然后直接从外部模块导出类
另请参见此处的“无需命名”标题:
Property LevensteinAlgorithm doesn't exist on type: ....