i18next可在开发服务器上运行,但不能在azure应用程序服务中运行

时间:2019-10-23 13:45:20

标签: reactjs azure i18next

我已经使用i18next软件包翻译了一个React应用程序。 因为已经安装了i18n-backend模块,所以我将文件定位在目录“ public / locales / en / translation.json”中。 在我开发时,这很好。但是,如果我将其部署到AZURE应用程序服务中,则会发出警告“缺少密钥”。

只需提一下:

  

文件确实存在于App-Service的目录中,并且   相同的路径。

但是我无法通过URL进行访问

“ myApplicationURL / locales / en / translation.json”。 enter image description here

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;

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

谢谢

2 个答案:

答案 0 :(得分:1)

运行本地反应(webpack)使用devserver为您的本地/ public文件夹提供服务->在服务器上不存在这种魔力...如果不进行配置,则服务器不提供文件...

答案 1 :(得分:0)

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

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

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