2

DefinitiveTyped 有一个 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 文件而不会出现错误和警告?

4

1 回答 1

2

导入语句应该是:

import * as hljs from 'highlight.js';

这相当于:

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

并将整个模块导入为hljs.

于 2015-10-12T17:24:19.447 回答