打字稿编译
class ClassName { }
to
var ClassName = function () {
function ClassName() {
}
return ClassName;
}();
我通过sweet.js运行该js代码,即使没有宏定义,也会产生类似的东西:
var ClassName$659 = function () {
function ClassName$663() {
}
return ClassName$663;
}();
我知道,如果未使用顶级var
,sweet.js不会重命名ClassName
的首次出现,或者是否使用了其他名称,而不是用于构造函数函数,但这是打字稿编译器可以执行这些事情,不是我。
为什么这是一个问题
- 我不能再在HTML文件中使用
ClassName
。这不是我想经常做的事情,我当然可以没有能力,但我仍然想念它。 - 我想使用So-Far的宏不需要任何卫生重命名。但是现在,似乎我必须用自己的脚本撤消重命名。源地图无济于事,因为我已经需要打字稿的源图 -> JavaScript转换。
我的问题
有没有办法禁用sweet.js重命名的卫生重命名?有没有更好的方法来处理这个问题?
正如@anthonycalandra所建议的那样,使用 - 可读名称标志,解决了我的问题。
有没有办法禁用sweet.js的卫生重命名?
no。
有更好的解决这个问题的方法吗?
不确定。作为黑客,您可以使用脚本进行后处理文件搜索className $ xxx,然后添加
var ClassName = ClassName$xxx;