我對我的項目使用typescript,並使用i18next進行內部化。Uncaught TypeError:i18next.init不是函數
打字稿:v2.1.4
i18next:v2.3.4
@類型/ i18next:v2.3.35
在我的文件:
import * as i18next from 'i18next';
i18next.init({
lng: 'en',
resources: {
en: {
translation: {
"key": "hello world"
}
}
}
}, (err, t) => {
// initialized and ready to go!
const hw = i18next.t('key'); // hw = 'hello world'
});
然而,在瀏覽器,它說:
Uncaught TypeError: i18next.init is not a function
如果我登錄的i18next對象,它看起來像:
,並在控制檯
i18n.default.init
效果很好。
如果像在Visual Studio中的代碼將文件
import i18next from 'i18next';
我.tsconfig
{
"compileOnSave": true,
"compilerOptions": {
"removeComments": false,
"baseUrl": "./src",
"target": "es6",
"moduleResolution": "node",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"noImplicitAny": true,
"strictNullChecks": true,
"jsx": "preserve",
"lib": [
"es2017",
"dom"
],
"typeRoots": [
"./node_modules/@types"
],
"types": [
"node",
"poly2tri",
"three",
"i18next"
]
}
}
我webpack.config.js是太長時間閱讀。
我不知道是什麼涉及到文檔:http://www.typescriptlang.org/docs/handbook/declaration-files/templates/module-class-d-ts.html
/*~ Note that ES6 modules cannot directly export class objects.
*~ This file should be imported using the CommonJS-style:
*~ import x = require('someLibrary');
*~
*~ Refer to the documentation to understand common
*~ workarounds for this limitation of ES6 modules.
*/
你如何在瀏覽器中運行你的代碼?我測試了它(在NodeJS中),init函數與'import *'一起作爲'i18next'的i18next' – unional
我使用'i18next @ 7.1.0'你 – unional
我正在使用webpack。 –