Typescript + Require.js:扩展String的原型并导入该模块

时间:2014-06-07 04:19:04

标签: requirejs typescript

我在AMD模式下使用typescript(使用requirejs)。

我想说我想在String中添加一个函数:

扩展/ String.ts

interface String {
    startsWith(str: string): boolean;
}

define(() => {
    String.prototype.startsWith = function (str)
    {
        return (this.match("^" + str) == str);
    };
});

这适用于生成正确的.js文件,我可以在非类型的requirejs模块中使用。

我如何"导入"这是一个打字稿类中的requirejs模块吗?

在想要使用新功能的类的文件中,这不起作用:

类型/ SampleClass.ts

import ExtensionsString = require("Extensions/String");

我收到此错误:

  

"无法解析外部模块'"扩展程序/字符串"'

如何制作打字稿添加"扩展程序/字符串"到依赖项列表

类型/ SampleClass.js

define("SampleClass", ["Extensions/String"], function(/* no need to have parameter */){

...

});

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我找到了解决方案,我只需要在SampleClass.ts文件中添加以下行而不是使用import:

/// <amd-dependency path="Extensions/String" />