首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用web上下文解决i18n资源错误的url

使用web上下文解决i18n资源错误的url
EN

Stack Overflow用户
提问于 2021-06-24 09:45:16
回答 1查看 145关注 0票数 0

为了满足客户的需要,我已经开发了一个使用Jhipster的站点--生产中的--它必须使用与/不同的web上下文来部署,例如/CustomerPortal。弹簧servlet context和角servlet context BaseHrefWebpackPlugin({ baseHref: '/CustomerPortal' })的设置都很好。

只有i18n文件的URL是错误的。

在Jhipster中,我发现了一个与这个问题相关的老问题,有人建议以这种方式修改webpack脚本webpack.common.js,:

代码语言:javascript
复制
 new MergeJsonWebpackPlugin({
        output: {
            groupBy: [
                { pattern: './src/main/webapp/i18n/en/*.json', fileName: './i18n/en.json' },
                { pattern: './src/main/webapp/i18n/en/*.json', fileName: './CustomerPortal/i18n/en.json' },
                { pattern: './src/main/webapp/i18n/it/*.json', fileName: './i18n/it.json' },
                { pattern: './src/main/webapp/i18n/it/*.json', fileName: './CustomerPortal/i18n/it.json' }
                // jhipster-needle-i18n-language-webpack - JHipster will add/remove languages in this array
            ]
        }
    })

我遵循这个建议,但它对我不起作用,当我检查铬时,我总是看到i18n文件的错误404 (未找到),因为请求中的基本上下文被省略了。请求url总是http://my.base.portal/i18n/en.json,而不是预期的http://my.base.portal/CustomerPortal/i18n/en.json

有什么解决这个问题的建议吗?提前谢谢。

编辑说明:

具有此设置的

--如果我在浏览器中直接调用资源url http://my.base.portal/CustomerPortal/i18n/it.json --我可以看到下载的(正确的) json。因此,问题只是来自角度客户端的URL组合(资源存在于后端).

EN

回答 1

Stack Overflow用户

发布于 2021-06-29 09:15:44

解决方案 Following this tips worked for me I修改建议(在core.module.ts中):

代码语言:javascript
复制
declare let process: any;
const env = process.env.NODE_ENV;
const i18nRoute = env === 'production' || env === 'prod' ? '/CustomerPortal/i18n/' : '/i18n/';

export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader 
   {
    return new TranslateHttpLoader(http, i18nRoute);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68113370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档