javascript - Babel如何在代码中添加新行或换行符?
问题描述
我还没有找到使用 Babel 在我的代码中添加空行的方法。我有用 Babel 库解析的 javascript 代码。例如,我有以下代码:
var e = t && t.__esModule ? function () {
return t.default;
} : function () {
return t;
};
我需要将其转换为:
var e = t && t.__esModule ? function () {
return t.default;
} :
function () {
return t;
};
我试图在函数之前插入代码
path.insertAfter(t.expressionStatement(t.stringLiteral('\n')))
但是 Babel 生成器将代码变成:
var e = t && t.__esModule ? function () {
return t.default;
} : ("\n", function () {
return t;
});
我需要在代码中的多个位置添加换行符,例如在使用“{”或“},”打开函数之后。我怎么能用 Babel 做到这一点?有可能有不同的方法吗?有巴别塔替代品吗?
解决方案
正如@loganfsmyth 指出的那样,我想做一些用AST 不可能的事情。AST 会故意删除换行符和空格等信息。我正在寻找的是具体语法树(CST)或 Linter。ESLint 允许我在需要的地方添加换行符。
推荐阅读
- python - 在 DataFrame 顶部添加具有特定索引名称的新行
- dart - 如何在我的应用中更改页面上的方向
- java - Mapstruct 隐式调用具有多个参数的其他映射器
- javascript - 标签点击上的触发器(“更改”)不起作用
- c# - 服务器返回对象的普通列表而不是 ODATA 信封
- c++ - 如何在我的代码中调用默认 Windows 凭据?
- excel - Excel 二次排序不起作用。手动或使用 VBA 有什么解决方法吗?
- c# - 在接收命令时通过 TCP 发送字符串
- javascript - 如何使用 JavaScript 将 ChargeBee 链接添加到 HTML 元素?
- java - JND InvalidSearchFilterException - 如何在 LDAP 中搜索规范名称?