Babel 如何在代码中添加新行或换行符?

时间:2021-07-26 20:58:54

标签: javascript node.js parsing babeljs generator

我还没有找到用 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 做到这一点?有没有可能的不同方法?有没有 Babel 替代品?

1 个答案:

答案 0 :(得分:0)

正如@loganfsmyth 指出的那样,我想用 AST 做一些不可能的事情。 AST 有意删除了换行符和空格等信息。我正在寻找的是具体语法树(CST)或 Linter。 ESLint 允许我在需要的地方添加换行符。