如何删除打字稿名称空间

时间:2020-11-08 14:22:34

标签: typescript

我想使用名称相同的函数来重构其中包含两个名称空间的文件。从这个意义上说,我不能只删除名称空间。

//myFile.ts
export namespace Square{
    export function drawMe() {
        console.info("drawing a square")
    }
    export function ColorMe() {
        console.info("coloring a square")
    }
}

export namespace Circle {
    export function drawMe() {
        console.info("drawing a circle")
    }
    export function ColorMe() {
        console.info("coloring a circle")
    }
}


//aDifferentFile.ts
import {Square} from "shapes";
import {Circle} from "shapes";

Square.ColorMe();
Circle.drawMe();

如果我替换命名空间并以const形式导出为ES6模块,则它看起来像这样:

//myFile.ts
export const Square = {
    drawMe : function() {
        console.info("drawing a square")
    },

    ColorMe : function () {
        console.info("coloring a square")
    }
}

export const Circle = {
    drawMe: function() {
        console.info("drawing a circle")
    },
    ColorMe: function() {
        console.info("coloring a circle")
    }
}

这是摆脱命名空间的最佳方法吗?在这种情况下,我似乎必须做很多重写。但是,我希望将重构保持在最低水平。

0 个答案:

没有答案