我想使用名称相同的函数来重构其中包含两个名称空间的文件。从这个意义上说,我不能只删除名称空间。
//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")
}
}
这是摆脱命名空间的最佳方法吗?在这种情况下,我似乎必须做很多重写。但是,我希望将重构保持在最低水平。