大佬教程收集整理的这篇文章主要介绍了angular – 通过服务器上的Http请求的URL必须是绝对的.网址:./ assets / i18n / en.json,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的app.module.server.ts文件:
import { NgModule } from '@angular/core'; import { ServerModule } from '@angular/platform-server'; import { sharedConfig } from './app.module.shared'; import { httpR_880_11845@odule,http } from '@angular/http'; import { TranslateModule,TranslateLoader,MissingTranslationHandler,MissingTranslationHandlerParams } from '@ngx-translate/core'; import { TranslatehttpLoader } from '@ngx-translate/http-loader'; export function createTranslateLoader(http: http) { return new TranslatehttpLoader(http,'./assets/i18n/','.json'); } export class MymissingTranslationHandler implements MissingTranslationHandler { handle(params: MissingTranslationHandlerParams) { return '[' + params.key + ']'; } } @NgModule({ bootstrap: sharedConfig.bootstrap,declarations: sharedConfig.declarations,imports: [ ServerModule,httpR_880_11845@odule,TranslateModule.forRoot({ loader: { provide: TranslateLoader,useFactory: (createTranslateLoader),deps: [http] } }),...sharedConfig.imports ] }) export class AppModule { }
这是我的app.module.cleint.ts文件:
import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { FormsModule } from '@angular/forms'; import { httpR_880_11845@odule,http } from '@angular/http'; import { sharedConfig } from './app.module.shared'; import { TranslateModule,MissingTranslationHandlerParams } from '@ngx-translate/core'; import { TranslatehttpLoader } from '@ngx-translate/http-loader'; export function createTranslateLoader(http: http) { return new TranslatehttpLoader(http,imports: [ BrowserModule,FormsModule,...sharedConfig.imports ],providers: [ { provide: 'ORIGIN_URL',useValue: LOCATIOn.origin },{ provide: MissingTranslationHandler,useClass: MymissingTranslationHandler } ] }) export class AppModule { }
这是我的app.module.shared.ts文件:
import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { httpR_880_11845@odule,http } from "@angular/http"; import { BrowserModule } from "@angular/platform-browser"; import { TranslateModulE} from '@ngx-translate/core'; import { AppComponent } from './components/app/app.component' import { NavMenuComponent } from './components/navmenu/navmenu.component'; import { HomeComponent } from './components/home/home.component'; import { FetchDataComponent } from './components/fetchdata/fetchdata.component'; import { employeesListComponent } from './components/employees/employeesList.component'; import { CounterComponent } from './components/counter/counter.component'; export const sharedConfig: NgModule = { bootstrap: [AppComponent],declarations: [ AppComponent,NavMenuComponent,CounterComponent,FetchDataComponent,employeesListComponent,HomeComponent ],imports: [ RouterModule.forRoot([ { path: '',redirectTo: 'home',pathMatch: 'full' },{ path: 'home',component: HomeComponent },{ path: 'counter',component: CounterComponent },{ path: 'fetch-data',component: FetchDataComponent },{ path: 'employees-list',component: employeesListComponent },{ path: '**',redirectTo: 'home' } ]),BrowserModule,TranslateModule ],exports: [ TranslateModule ] };
export function createTranslateLoader(http: http) { return new TranslatehttpLoader(http,'/assets/i18n/','.json'); }
但是,当我在角度docs repos中四处寻找时:我看到了这个:https://github.com/angular/angular/issues/15349.因此,有角度的http服务可能不支持调用文档所在的主机.这有点令人惊讶,但你可以在javascript中使用:
window.LOCATIOn.origin
因此,只需在设置呼叫时将其添加到/ assets / i18n /.
以上是大佬教程为你收集整理的angular – 通过服务器上的Http请求的URL必须是绝对的.网址:./ assets / i18n / en.json全部内容,希望文章能够帮你解决angular – 通过服务器上的Http请求的URL必须是绝对的.网址:./ assets / i18n / en.json所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。