Javascript 代码到 AST 表示,就像我们在 babelTypes 中所做的那样

Javascript code to AST representation as we do in babelTypes

每次要修改都要写t.importDeclaration([t.importDefaultSpecifier(t.identifier(`${importcomponentName}`))], t.stringLiteral(`../components/${importcomponentName}`))

它只是用于导入语句。例如。 ,如果我要生成一个完整的组件,我必须写一个冗长的代码,在一个文件中太长而且耗时。我们是否有任何通过递归或库或任何工具来完成此操作的捷径?

Babel 为这种类型的东西提供了 @babel/template 所以你可以替换

const decl = t.importDeclaration(
  [t.importDefaultSpecifier(t.identifier(`${importcomponentName}`))], 
  t.stringLiteral(`../components/${importcomponentName}`)
);

const decl = template.ast`
  import ${importcomponentName} from "${`../components/${importcomponentName}`}";
`;

Loganfsmyth 答案的替代方法,而不是使用 @babel/template,您可以使用 @babel/generator:

import babelGenerate from '@babel/generator';

const decl = babelGenerate(
  `import ${importcomponentName} from '${`../components/${importcomponentName}`}';`
);