Заставить PrismJS подсветку синтаксиса работать в Аурелии

Я пытаюсь добавить PrismJS в качестве подсветки синтаксиса в моем приложении Aurelia (на основе машинописи), и я на полпути, как показано ниже

1- Установите prismjs

yarn add prismjs

2- добавить часть CSS и код

<template>
  <require from="prismjs/themes/prism.css"></require>

  <pre><code class="language-sql">${highlightedSQL}</code></pre>
</template>

3- импортировать prismjs в компонент и вызвать подсветку.

import "prismjs";
import prismsql from "prismjs/components/prism-sql";

let Prism; // very weird, I have to declare a global variable, other wise it won't work(typescript error)
@inject(HttpClient)
export class Detail {

highlight() {
    this.highlightedSQL = Prism.highlight(data.sql, Prism.languages.sql, 'sql');
}
}

и я получаю эту ошибку

Unhandled rejection TypeError: Cannot read property 'highlight' of undefined

Что может быть правильным способом заставить это работать?

1 ответ

Решение

Я оставлю свой комментарий как ответ, просто чтобы закрыть вопрос.

вместо import "prismjs"; а также let Prism; у тебя должно быть import Prism from 'prismjs';

Другие вопросы по тегам