Как импортировать функцию, экспортированную с использованием данной конструкции экспорта?

Определенно, для Type есть определение для Highlight.js, которое определяет и экспортирует модуль следующим образом:

declare module "highlight.js"
{
    module hljs
    {
        export function highlight(
            name: string,
            value: string,
            ignore_illegals?: boolean,
            continuation?: boolean) : IHighlightResult;
        ...
    }
    export = hljs;
}

В данном файле машинописи я пытаюсь импортировать hljs объект, чтобы я мог назвать highlight функционировать на нем, вот так:

/// <reference path="../../tsd_typings/highlightjs/highlightjs.d.ts" />

import {hljs} from 'highlight.js';

...

hljs.highlightBlock(block);

Но это не говорит о том, что error TS2305: Module '"highlight.js"' has no exported member 'hljs'.

Как правильно импортировать этот объект, чтобы я мог скомпилировать свои файлы TS без ошибок и предупреждений?

1 ответ

Решение

Оператор импорта должен быть:

import * as hljs from 'highlight.js';

Это эквивалентно:

import hljs = require('highlight.js');

и импортирует весь модуль как hljs,

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