角度类型错误:_Angular_core_uuuwebpack_IMPORTED_MODULE_u1_uuu.&u35; x275ɵ;defineInjectable不是一个函数
我正在运行我的应用程序,当我导航到地图路线时,出现以下错误:角度类型错误:_Angular_core_uuuwebpack_IMPORTED_MODULE_u1_uuu.&u35; x275ɵ;defineInjectable不是一个函数,angular,typescript,webpack,lazy-loading,Angular,Typescript,Webpack,Lazy Loading,我正在运行我的应用程序,当我导航到地图路线时,出现以下错误: ERROR Error: Uncaught (in promise): TypeError: _angular_core__WEBPACK_IMPORTED_MODULE_1__.ɵɵdefineInjectable is not a function TypeError: _angular_core__WEBPACK_IMPORTED_MODULE_1__.ɵɵdefineInjectable is not a function
ERROR Error: Uncaught (in promise): TypeError: _angular_core__WEBPACK_IMPORTED_MODULE_1__.ɵɵdefineInjectable is not a function
TypeError: _angular_core__WEBPACK_IMPORTED_MODULE_1__.ɵɵdefineInjectable is not a function
at tm.service.ts:9
这很奇怪,因为我将tm服务定义为路由模块中的提供者
@NgModule({
providers: [
{
provide:
HTTP_INTERCEPTORS
,
useClass: AuthInterceptor,
multi: true
},
TicketMasterService
],
})
我只在生产中遇到这个错误。当我在本地运行时,一切都很好
import { Injectable, OnInit } from '@angular/core';
import { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';
import { environment } from '../../environments/environment';
import { DataService } from '../../services/dataService/data.service';
import { TmEvent } from '../../models/tmEvent/tm-event.model';
@Injectable()
export class TicketMasterService {
noAuthHeader = { headers: new HttpHeaders({ 'NoAuth': 'True'})};
private readonly TM_EVENTS = 'TM_EVENTS';
tmEvents: any = [];
constructor(private http: HttpClient, private data: DataService) {
}
fetchTmData() {
this.http.get(environment.apiBaseUrl + '/ticketmaster-events', this.noAuthHeader).subscribe(res => {
this.getTheFields(res);
});
}
}
@Jonathan你用的是哪个角度的版本
当我升级到angular 8时,我尝试了一个类似的问题 和您一样,我的应用程序在本地运行良好,但在生产环境中无法运行。延迟加载或双击事件无法正常工作,应用程序引发了类似错误 在网上冲浪之后,我发现了一些更新angular core cli依赖项的解决方案。。但他们都没有解决这个问题 在我的例子中,问题出在生产配置文件中,特别是在tsconfig.e2e.json文件中。但是还要查看tsconfig.json文件中的本地配置 确保在angular 8或更高版本中使用这些参数: “模块”:“esnext”, “moduleResolution”:“节点”, “目标”:“es5”
我希望这对某些人有用…我曾尝试过类似的问题 转到
/node_modules/ng inline svg/lib_esmodule/svg cache.service.js
并搜索ɵ
,然后将其删除
或者单击错误并搜索ɵɵ
并删除它
我希望这对任何人都有用您可以粘贴TicketMasterService吗?@Nosheep pastedremove在“平台”中提供,因为您已经将此服务作为模块级别的提供程序,或者反之亦然。@Nosheep仍然会收到相同的错误。。。我还注意到,当你点击路由两次时,你会发现这个错误
core.js:4117错误:Uncaught(承诺中):TypeError:Cannot read未定义TypeError的属性'úµmod':Cannot read getNgModuleDef(core.js:1880)的未定义属性'úµmod'
尝试完全删除Injectable()。
import { Injectable, OnInit } from '@angular/core';
import { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';
import { environment } from '../../environments/environment';
import { DataService } from '../../services/dataService/data.service';
import { TmEvent } from '../../models/tmEvent/tm-event.model';
@Injectable()
export class TicketMasterService {
noAuthHeader = { headers: new HttpHeaders({ 'NoAuth': 'True'})};
private readonly TM_EVENTS = 'TM_EVENTS';
tmEvents: any = [];
constructor(private http: HttpClient, private data: DataService) {
}
fetchTmData() {
this.http.get(environment.apiBaseUrl + '/ticketmaster-events', this.noAuthHeader).subscribe(res => {
this.getTheFields(res);
});
}
}