这是一个有点烦人的问题!我正在尝试使用Angular Universal的Contentful SDK。我正在尝试使用Contentful SDK for Angular Universal.在这里的文档中。
https:/github.comcontentfulcontentful.jsblobmasterADVANCED.md#angular-universal。
并根据
https:/github.compatrickhousleyngx-axios-adapter。
我已经安装了 npm install @ngx-axios-adapter/core
然后我把我的服务调整成这样。
constructor(private readonly axiosAdapter: AxiosAngularAdapterService) {
this.cdaClient = createClient({
space: environment.space,
accessToken: environment.cdaAccessToken,
// pass the adapter to contentful
adapter: this.axiosAdapter.adapter,
});
}
问题是它没有调用... 加拿大籍: https:/cdn.contentful.com 而不是调用我的localhost.http/localhost:4200。http:/localhost:4200 这是非常令人沮丧的.我不是唯一一个有这个问题的人,但我看不到任何人已经解决了这个问题。
我在stack overflow上发现了另一个问题,他们决定直接使用以下方法调用API HttpClient 我遇到的问题是,链接的条目会作为一个单独的对象出现,这可不好。
当我深入研究SDK时,我发现了一些有趣的选项,我可以设置,即 host
和 basePath
但设置这些都没有用,然后我找到了一个 proxy
配置,它期望类型 AxiosProxyConfig
其中也有 host
paramter.我设置了所有这些。
constructor(private readonly axiosAdapter: AxiosAngularAdapterService) {
this.cdaClient = createClient({
space: environment.space,
accessToken: environment.cdaAccessToken,
host: 'https://cdn.contentful.com',
basePath: 'something',
proxy: {
host: 'https://cdn.contentful.com',
},
// pass the adapter to contentful
adapter: this.axiosAdapter.adapter,
});
}
但没有任何区别,有人知道如何解决这个问题吗?
这是一个已知的问题,与 ngx-axios-adapter
库。这里有一个变通方法。https:/github.compatrickhousleyngx-axios-adapterissues13#issuecomment-627326291。
this.client = createClient({ space: appConfig.contentful.spaceId, accessToken: appConfig.contentful.token, adapter: (config) => { config.url = config.baseURL + '/' + config.url; // fix for Angular 9 return this.axiosAdapter.adapter(config); } });