Помогите пожалуйста разобраться с ошибкой. Уже второй день с ней мучаюсь, но не могу понять как её исправить.
В проекте использовал самописный модуль для Angular:
https://github.com/Wday-team/angular-api-service
https://www.npmjs.com/package/angular-api-service
До того как вынес модуль в npm пакет - всё работало, после публикации модуля и подключения по зависимости через package.json
появилась данная ошибка.
Стек ошибки:
feedback.service.ts:13 Uncaught TypeError: Object prototype may only be an Object or null: undefined
at setPrototypeOf (<anonymous>)
at webpackJsonp.../../../../../src/app/modules/main-object/transformers/feedback.transformer.ts.__extends (feedback.service.ts:13)
at feedback.transformer.ts:7
at Object.../../../../../src/app/modules/main-object/transformers/feedback.transformer.ts (feedback.transformer.ts:23)
at __webpack_require__ (bootstrap 4604a1f…:54)
at Object.../../../../../src/app/modules/main-object/services/feedback.service.ts (main-object.routes.ts:31)
at __webpack_require__ (bootstrap 4604a1f…:54)
at Object.../../../../../src/app/modules/main-object/components/feedback/feedback.component.ts (main.bundle.js:435)
at __webpack_require__ (bootstrap 4604a1f…:54)
at Object.../../../../../src/app/modules/main-object/main-object.module.ts (menu.component.ts:10)
Мой код:
feedback.service.ts
import {Inject, Injectable} from '@angular/core';
import {Http} from "@angular/http";
import {Observable} from "rxjs/Observable";
import {APP_CONFIG, AppConfig} from "../../../app-config.module";
import {ITransformerMap} from "angular-api-service/dist/lib/itransformer.map";
import {TRANSFORMERS_MAP} from "angular-api-service/dist/lib/transformer-map.service";
import {ApiResponse, ITransformer} from "angular-api-service/dist/lib";
import {ApiService} from "angular-api-service/dist/lib";
import {FeedbackTransformer} from "../transformers/feedback.transformer";
import {Feedback} from "../entities/feedback";
@Injectable()
export class FeedbackService extends ApiService {
private feedbackUrl: string;
constructor(
http: Http,
@Inject(APP_CONFIG) private config: AppConfig,
@Inject(TRANSFORMERS_MAP) private transformersMap: ITransformerMap
) {
super(http);
this.feedbackUrl = config.apiEndpoint + '/feedback';
}
transformer(): ITransformer {
return new FeedbackTransformer(this.transformersMap);
}
postRequest(feedback: Feedback): Observable> {
return this.post(this.feedbackUrl, feedback);
}
}
// WEBPACK FOOTER //
// C:/Users/Ragmon/Projects/mainobject/frontend/src/app/modules/main-object/services/feedback.service.ts
feedback.transformer.ts
import {InjectionToken} from "@angular/core";
import {Feedback} from "../entities/feedback";
import {Transformer} from "angular-api-service/dist/lib";
import {ITransformerMap} from "angular-api-service/dist/lib/itransformer.map";
import {Aliases} from "angular-api-service/dist/lib/aliases";
export class FeedbackTransformer extends Transformer {
constructor(transformersMap: ITransformerMap) {
super((data: any) => {
return {
id: data.id,
name: data.attributes.name,
email: data.attributes.email,
phone: data.attributes.phone,
token: data.attributes.token
}
}, transformersMap);
}
public aliases(): Aliases {
return {};
}
}
export const FEEDBACK_TRANSFORMER = new InjectionToken('app.transformers.feedback');
// WEBPACK FOOTER //
// C:/Users/Ragmon/Projects/mainobject/frontend/src/app/modules/main-object/transformers/feedback.transformer.ts
main-object.routes.ts
import {Routes} from "@angular/router";
import {LayoutComponent} from "./components/layout/layout.component";
import {HomeComponent} from "./components/home/home.component";
import {AboutComponent} from "./components/about/about.component";
export const mainObjectRoutes: Routes = [
{
path: '',
redirectTo: 'home',
pathMatch: 'full'
},
{
path: '',
component: LayoutComponent,
children: [
{
path: 'home',
component: HomeComponent
},
{
path: 'about',
component: AboutComponent
},
{
path: 'catalog',
loadChildren: './modules/catalog/catalog.module#CatalogModule'
}
]
}
];
// WEBPACK FOOTER //
// C:/Users/Ragmon/Projects/mainobject/frontend/src/app/modules/main-object/main-object.routes.ts
menu.component.ts
import {Component, OnInit} from '@angular/core';
import {MenuItem} from "./menu-item";
import {Router} from "@angular/router";
@Component({
selector: 'app-menu',
templateUrl: './menu.component.html',
styleUrls: ['./menu.component.css']
})
export class MenuComponent implements OnInit {
items: MenuItem[];
constructor(private router: Router) {}
ngOnInit() {
this.items = this.getItems();
}
private getItems() {
return [
new MenuItem(1, 'Главная', '/home'),
new MenuItem(2, 'О нас', '/about'),
new MenuItem(3, 'Каталог объектов', '/catalog'),
new MenuItem(4, 'Помощь', '/faq'),
new MenuItem(5, 'Акции', '/promotions'),
new MenuItem(6, 'Личный кабинет', '/personal-cabinet', ['bold']),
];
}
}
// WEBPACK FOOTER //
// C:/Users/Ragmon/Projects/mainobject/frontend/src/app/modules/main-object/components/layout/menu/menu.component.ts
Виртуальный выделенный сервер (VDS) становится отличным выбором
Помогите, плз, разобраться в проблемеНаписал приложение на nw
Здравствуйте! Решил изучать vuejs
Если встречается согласная буква, то пропускать одну позицию в строке, если встречается гласная - то двеВ итоге должно получится слово hello