我已经使用i18next软件包翻译了一个React应用程序。 因为已经安装了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;
有人遇到过这个问题吗? 老实说,我没有办法解决这个问题。
谢谢
答案 0 :(得分:1)
运行本地反应(webpack)使用devserver为您的本地/ public文件夹提供服务->在服务器上不存在这种魔力...如果不进行配置,则服务器不提供文件...
答案 1 :(得分:0)
现在可以使用。如果您有同样的问题,只需插入:
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
进入web.config文件。 这允许服务器提供json文件。