Angular не может найти переменную кеша - PullRequest
0 голосов
/ 14 октября 2019

Мое приложение Angular отлично работает на всем, когда я запускаю его локально, но если я разверну его на Heroku - на сервере Go, aot отключится при угловой сборке в Chrome и Opera - как для мобильных устройств, так и для Linux и OSX - новыдает ошибку в сафари:

ReferenceError: Can't find variable: Cache

Когда я более внимательно смотрю на ошибку, я предполагаю, что это от моих поставщиков модулей. Потому что мне нужно:

 main-es2015[...].js

[...], IP, KM, {
            provide: Cache, // error
            useClass: KM,
            multi: !0
        }],

Соответствующая часть app.module.ts

providers: [
    {provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true},
    {provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptorService, multi: true},
    {provide: HTTP_INTERCEPTORS, useClass: CachingInterceptor, multi: true},
    ApplicationStateService,
    CacheMapService,
    {provide: Cache, useClass: CacheMapService, multi: true}
  ],

Поставщик кэша не был multi, сделал его multi, но без разницы

1 Ответ

0 голосов
/ 14 октября 2019

В файле lib.dom.d.ts есть переменная с именем:

declare var Cache: {prototype: Cache; new():Cache}

. Я использовал эту переменную вместо моей cache.ts модели. Так глупо с моей стороны ... Если у вас тоже есть модель кеша, поместите это в верхнюю часть вашего файла * .module.ts

import {Cache} from 'path-to-cache-file'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...