[英]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.