【问题标题】:i18next works on dev server but not in azure app-servicei18next 适用于开发服务器,但不适用于 azure app-service
【发布时间】:2023-07-04 11:34:02
【问题描述】:

我做了一个react应用,使用i18next包翻译它。 因为我已经安装了 i18n-backend 模块,所以我将我的文件放在了“public/locales/en/translation.json”目录中。 在我开发时,这工作得很好。但如果我将它部署到 AZURE 应用服务,它会给我警告“缺少密钥”。

顺便提一下:

这些文件确实存在于 App-Service 的目录中,它是 相同的路径。

但我无法通过 URL 访问它们

“myApplicationURL/locales/en/translation.json”。

import i18n from 'i18next';
import Backend from 'i18next-xhr-backend';
import LanguageDetector from 'i18next-browser-languagedetector';
import { initReactI18next } from 'react-i18next';

const fallbackLng = ['en'];
const availableLanguages = ['en', 'de'];

i18n
    .use(Backend)

    .use(LanguageDetector)

    .use(initReactI18next)

    .init({
        fallbackLng,
        debug: true,
        whitelist: availableLanguages,

        interpolation: {
            escapeValue: false
        },
    });

export default i18n;

有人遇到过这个问题吗? 老实说,我没有办法解决这个问题。

谢谢

【问题讨论】:

  • 很明显服务器中缺少翻译json。

标签: reactjs azure i18next


【解决方案1】:

现在可以了。如果您有同样的问题,只需插入:

<staticContent>
    <mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>

进入 web.config 文件。 这允许服务器提供 json 文件。

【讨论】:

    【解决方案2】:

    在本地运行 react (webpack) 使用 devserver 为您的本地 /public 文件夹提供服务 -> 在您的服务器上,这种魔法不存在......没有配置的服务器不会提供文件......

    【讨论】:

      最近更新 更多