问题描述
我无法导入i18next的原因之一是因为i18next.d.ts文件没有
One reason why I can't import i18next is because the i18next.d.ts file does not have
declare module "i18next" {
export = i18next;
}
最后,
就像jquery.d.ts和knockout.d.ts一样.它只有
at the end, like jquery.d.ts and knockout.d.ts have.It only has
declare var i18next: I18nextStatic;
因此,当我尝试使用
import i18next = require('i18next');
它将驳倒:无法加载外部模块模块不能别名为非模块类型
it will barf:Cannot load external moduleModule cannot be aliased to a non-module type
我不知道为什么绝对类型"项目以这种方式构成d.ts文件.而且我不知道声明模块是否是一个好的解决方案.
I don't know why Definitely Typed project compose the d.ts file in that way.And I don't know if declare module will be a good solution or not.
请有人帮忙.
推荐答案
您可能需要对i18next库进行Shim,以便RequireJS将其定义为模块.
You probably need to Shim the i18next library so that RequireJS defines it as a module.
在RequireJS网站上有更多信息: http://requirejs.org/docs /api.html#config-shim
There's more info on the RequireJS site here: http://requirejs.org/docs/api.html#config-shim
shim : {
'i18next' : {
exports : 'i18next'
}
}
这篇关于尝试在TypeScript中导入i18next时无法加载外部模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!