Я настраиваю службу перевода в своем приложении, передавая файл json с определенным языком на веб-страницу. После того, как все соединения были импортированы, я хотел проверить это и показать в журнале консоли полученные данные. Но ведь консольный журнал показывает мне пустой объект с 404 не найденной ошибкой
Я проверил все пути, импорт, соединения, также добавил путь к свойству assets в angular.json (попытался перезапустить ng serve), но ошибка все еще существует.
export class TranslateService {
data:any = {};
constructor(private http: HttpClient) { }
use(lang: string): Promise<{}> {
return new Promise<{}>((resolve, reject) => {
const langPath = `assets/${lang}.json`;
this.http.get<{}>(langPath).subscribe(
translation => {
this.data = Object.assign({}, translation, {});
resolve(this.data);
},
error => {
this.data = {};
resolve(this.data);
}
);
});
}
import { TranslateService } from './translate.service';
export class AppComponent {
constructor(private router: Router, private meta: Meta, private cd: ChangeDetectorRef, private translate: TranslateService) {
translate.use('kz').then(() => {
console.log(translate.data);
});
}
Я ожидаю, что объект с данными внутри, но становится пустым.
Расположение файлов:
src
-app
--translate.service.ts
--app.component.ts
-assets
--kz.json
angular.json:
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.app.json",
"assets": ["src/favicon.ico", "src/assets"],
"styles": ["src/styles/styles.scss"],
"stylePreprocessorOptions": {
"includePaths": ["src/styles"]
},
"scripts": []
}