我正在使用gatsby插件-intl创建一个多语言的盖茨比站点,路由工作得很好,但它给static文件夹中的文件带来了一些问题。
在我的gatsby-config.js文件里
{
resolve: `gatsby-plugin-intl`,
options: {
// language JSON resource path
path: `${__dirname}/src/intl`,
// supported language
languages: [`es`, `en`],
// language file path
defaultLanguage: `es`,
// option to redirect to `/es` when connecting `/`
redirect: false,
},
},然后在我的landingPage.js组件中
<img
className="w-36 text-secundario fill-current"
src="massick-2x3.svg"
alt="Logo"
/>在那里,src="massick-2x3.svg"意味着文件是在static/massick-2x3.svg中运行的,这与默认语言西班牙语(在连接/时没有重定向到/es )很好,但是接下来我得到了一个404错误,因为src更改为static/en/massick-2x3.svg,而static/en/massick-2x3.svg并不存在。
作为一种解决办法,我在es和en子文件夹中创建了static,并将static的所有内容复制到这两个文件夹中,并且正在工作。然而,这不是理想的,我有3份的每一项资产。
我想知道是否有办法防止这种行为。
如果您需要更多信息,这里是我的回购
发布于 2021-12-24 07:08:11
该项目似乎被放弃或停止(最后一次提交从3年前),因此,它可能不完全兼容您正在运行的盖茨比版本(这是最新的)。
当我将我的旧项目升级到最新的盖茨比版本时,我也遇到了类似的奇怪行为;在我的盖茨比v2版本中,插件工作得很完美,但从3.4个开始表现得很奇怪。
我建议迁移/迁移到gatsby-plugin-react-i18next插件,那里的配置非常相似,应该不是什么大事。这也是从这个GitHub线程(来自同一个插件回购)中得到的建议
https://stackoverflow.com/questions/70467616
复制相似问题