Как визуализировать гист-код (GItHub) в angular 6, когда HTML поступает из базы данных - PullRequest
0 голосов
/ 15 ноября 2018

Я храню HTML-страницу в MongoDb и отображаю ее как innerHTML во время выполнения на основе blogId.Я храню HTML-код в Mongodb, используя gridfs.Мой пример файла выглядит как

<p>Hello world, i am coming from database </p>        
<gh-gist src="https://gist.github.com/user/0f7c1a14489ecf9e98b70ea4e276fb.js"></gh-gist>
<p> Page code continue after</p>

Теперь проблема в том, что страница отображается правильно, но код для GIST не обрабатывается и не отображается.

Но тот же код работает нормально иотображать код GIST, как и ожидалось, вместе с HTML, если не хранится в базе данных

Нет ошибки, отображаемой как таковой, только что код не появляется.

Я попробовал предложенное ниже предложение - Angular 2: очистка HTML удалила часть содержимого в стиле css но это не помогло.

HTML-код моей страницы похож на -

<div [innerHTML]="pageContent | noSanitize"></div>

Вот код для трубы, определенный как предложено -

import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';

@Pipe({ name: 'noSanitize' })
export class NoSanitizePipe implements PipeTransform {
   constructor(private domSanitizer: DomSanitizer) {

   }
   transform(html: string): SafeHtml {
      return this.domSanitizer.bypassSecurityTrustHtml(html);
   }
}

Я использую https://www.npmjs.com/package/@sgbj/angular-gist для встраивания GIST в HTML.

Решение - я получил решение, используя ng-dynamic .

Последний выпуск - но теперь я сталкиваюсь с проблемой при выполнении производственной сборки с использованием веб-пакета.В качестве ng-dynamic используется JITCompiler, а в webpack - компилятор --aot.Так что ng-dynamic не работает с --aot build.

Ошибка, которую я получаю сейчас -

An unexpected error occured :Error: Uncaught (in promise): TypeError: t is not a constructor
TypeError: t is not a constructor
    at http://localhost:4200/main.c07d94d02c96a651ccd3.js:1:165321
    at No (http://localhost:4200/main.c07d94d02c96a651ccd3.js:1:165568)

Любая помощь приветствуется.

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