Обнаружена ошибка в метаданных, сгенерированных для экспортированного символа при построении угловой библиотеки 6 - PullRequest
0 голосов
/ 08 мая 2018

Я получаю следующую ошибку при выполнении 'ng build' из моей библиотеки.

Я сейчас использую Angular 6, но я считаю, что эта ошибка не связана с версией.

/ дома / rafaelvicio / desenv / мой Пб / arquitetura-веб / проекты / пф-SISEG / SRC / Библиотека / keycloak-сервис / keycloak.service.ts: 13: 1: Обнаружена ошибка в метаданных, созданных для экспортированного символа 'KeycloakService':
/home/rafaelvicio/desenv/my-lib/arquitetura-web/projects/pf-siseg/src/lib/keycloak-service/keycloak.service.ts:18:12: Собранные метаданные содержат ошибку, о которой будет сообщено во время выполнения: Только инициализированные переменные и константы могут ссылаться, потому что значение этой переменной требуется компилятору шаблона.
{"__symbolic": "error", "message": "Переменная не инициализировано "," строка ": 17," символ ": 11} Ошибка: /home/rafaelvicio/desenv/my-lib/arquitetura-web/projects/pf-siseg/src/lib/keycloak-service/keycloak.service.ts:13:1: Обнаружена ошибка в метаданных, созданных для экспортированного символа 'KeycloakService':
/home/rafaelvicio/desenv/my-lib/arquitetura-web/projects/pf-siseg/src/lib/keycloak-service/keycloak.service.ts:18:12: Собранные метаданные содержат ошибку, о которой будет сообщено во время выполнения: Только инициализированные переменные и константы могут ссылаться, потому что значение этой переменной требуется компилятору шаблона.
{"__symbolic": "error", "message": "Переменная не инициализирован», "линия": 17, "характер": 11} по адресу /home/rafaelvicio/desenv/my-lib/arquitetura-web/node_modules/@angular/compiler-cli/src/metadata/collector.js:707:31 в Array.forEach () at validateMetadata (/home/rafaelvicio/desenv/my-lib/arquitetura-web/node_modules/@angular/compiler-cli/src/metadata/collector.js:695:46) на MetadataCollector.getMetadata (/home/rafaelvicio/desenv/my-lib/arquitetura-web/node_modules/@angular/compiler-cli/src/metadata/collector.js:550:21) в MetadataCache.getMetadata (/home/rafaelvicio/desenv/my-lib/arquitetura-web/node_modules/@angular/compiler-cli/src/transformers/metadata_cache.js:86:41) в Object.getSourceFileMetadata (/home/rafaelvicio/desenv/my-lib/arquitetura-web/node_modules/@angular/compiler-cli/src/transformers/compiler_host.js:112:56) в Object.readMetadata (/home/rafaelvicio/desenv/my-lib/arquitetura-web/node_modules/@angular/compiler-cli/src/transformers/metadata_reader.js:46:37) в TsCompilerAotCompilerTypeCheckHostAdapter.getMetadataFor (/home/rafaelvicio/desenv/my-lib/arquitetura-web/node_modules/@angular/compiler-cli/src/transformers/compiler_host.js:464:38) at StaticSymbolResolver.getModuleMetadata (/home/rafaelvicio/desenv/my-lib/arquitetura-web/node_modules/@angular/compiler/src/aot/static_symbol_resolver.js:480:49) at StaticSymbolResolver._createSymbolsOf (/home/rafaelvicio/desenv/my-lib/arquitetura-web/node_modules/@angular/compiler/src/aot/static_symbol_resolver.js:268:33)

keycloak.service.ts:

import { Injectable } from '@angular/core';
import { KeycloakLoginOptions } from './keycloak.d';

import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';

import * as Keycloak from './keycloak';

export type KeycloakClient = Keycloak.KeycloakInstance;
type InitOptions = Keycloak.KeycloakInitOptions;

@Injectable()
export class KeycloakService {

    constructor(private http: HttpClient) { }

    static keycloakAuth: KeycloakClient;

.... More code here

Ответы [ 3 ]

0 голосов
/ 29 октября 2018

добавить // @dynamic перед классом, который объявляет статические методы

0 голосов
/ 05 июня 2019

Я столкнулся с этой проблемой сегодня в классе util, предоставляющем статические методы в качестве помощников.

Я решил это, заменив this на ObjectUtils (само имя класса), и оно работает.

Также, как @NicolasThierion упомянул в своем ответе , прокомментированном @ stack247, вы также можете попробовать следующий взлом

// @dynamic
export class SomeClass {
    public static get() { return 'someValue'; } 
}
0 голосов
/ 19 сентября 2018

У меня возникла та же проблема, и я решил ее, удалив «static» из переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...