尝试在TypeScript中导入i18next时无法加载外部模块

时间:2014-08-05 08:14:48

标签: knockout.js requirejs typescript i18next definitelytyped

我无法导入i18next的一个原因是因为i18next.d.ts文件没有

declare module "i18next" {
    export = i18next;
}

最后,像jquery.d.ts和knockout.d.ts一样。 它只有

declare var i18next: I18nextStatic;

所以当我尝试使用

导入我的TypeScript文件时
import i18next = require('i18next'); 
这将是barf: 无法加载外部模块 模块不能别名为非模块类型

我不知道为什么Definitely Typed项目会以这种方式组成d.ts文件。 而且我不知道声明模块是否是一个好的解决方案。

有人请帮忙。

1 个答案:

答案 0 :(得分:1)

您可能需要Shim i18next库,以便RequireJS将其定义为模块。

这里有关于RequireJS网站的更多信息:http://requirejs.org/docs/api.html#config-shim

shim : {
   'i18next' : {
      exports : 'i18next'
    }
}