使用导入和Typescript进行解构

时间:2017-10-15 16:02:54

标签: typescript typescript-typings typescript2.0

我正在构建@ masala / parser的类型系统,所以我可以根据需要编辑index.d.ts。

作为用户,我可以这样做:

import masala from '@masala/parser'
let {C, Stream, F} = masala;

但我无法做到ES2015中常见的方式:

import {C, Stream, F} from '@masala/parser'

TS2305:模块没有导出的成员C(既不是Stream也不是F)

我试图尽我所能放在index.d.ts

interface MasalaBundlesStatic{
    Stream?: StreamFactory,
    C?: CharBundle,
    F?: FlowBundle,
    N?:NumberBundle,
}

declare const F:FlowBundle;
declare const C:CharBundle;
declare const Streams:StreamFactory;
declare const N:NumberBundle;
declare const MasalaBundles :MasalaBundlesStatic;
export default MasalaBundles;

1 个答案:

答案 0 :(得分:1)

您需要单独导出成员。

interface MasalaBundlesStatic{
    Stream?: StreamFactory,
    C?: CharBundle,
    F?: FlowBundle,
    N?:NumberBundle,
}

export const F:FlowBundle;
export const C:CharBundle;
export const Streams:StreamFactory;
export const N:NumberBundle;
export const MasalaBundles :MasalaBundlesStatic;
export default MasalaBundles;

或类似的东西。