繁体   English   中英

在 babel 插件中创建唯一标识符

[英]Create unique identifier in babel plugin

我想创建全局变量并确保它们与现有的全局变量名称不冲突。

替换所有数组声明的示例:

let arrayDeclarations

const customPlugin = () => {
  return {
    visitor: {
      Program(path) {
        arrayDeclarations = []
        path.node.body.unshift(t.variableDeclaration('const', arrayDeclarations))
      },
      ArrayExpression(path) {
        const newUniqueName = // TODO
        const arrayIdentifier = t.identifier(newUniqueName)
        arrayDeclarations.push(t.variableDeclarator(arrayIdentifier, path.node))
        path.replaceWith(arrayIdentifier)
      }
    }
  }
}

babel 手册中找到了答案:

const newUniqueName = path.scope.generateUidIdentifier('a')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM