babeljs - babeljs 的 createClass 助手使 mangle 不起作用
问题描述
我正在使用 babel 作为转译器,我想用 uglifyjs 破坏一些方法。
这是一个演示:
class A {
methodA() {}
}
以及 babel 的输出:
var A = function () {
function A() {
_classCallCheck(this, A);
}
_createClass(A, [{
key: "methodA",
value: function methodA() {}
}]);
return A;
}();
但是,当我尝试破坏时methodA
,它不起作用。因为methodA
在输出中是一个字符串。
但是打字稿输出的相同代码有效,它不是字符串:
var A = /** @class */ (function () {
function A() {
}
A.prototype.methodA = function () { };
return A;
}());
所以我的问题是:使用 babeljs 时如何修改方法名称?
解决方案
好的,我找到了答案。
只需使用loose
模式:
[ ['@babel/preset-env', { loose: true }] ]
结果会更接近TS。
推荐阅读
- python - 在 Pandas 列中选择日期子集
- javascript - 在 Highcharts 中为堆积柱形图中的列禁用堆栈标签
- django - Django - 如何为 ImageField 模型设置默认图像
- batch-file - 如何使用批处理脚本从文件中获取特定单词?
- node.js - 如何过滤 SchemaTypes 的 Mongoose 数组
- c# - 使用文件 URL 启动 Edge
- angular-cli - 我如何将角度 cli 日期更改为本地时区?
- swift - 避免在 Swift 中的排序闭包内强制展开
- node.js - 未为 dev 编译子文件夹
- android - xml 文件中的选择器标记与 SVG 存在一些问题