Ich versuche, Code mit escodegen .generate() function zu generieren, die mir eine Zeichenfolge gibt.Warum funktioniert .replace() nicht an einer großen generierten Zeichenfolge von escodege.generate()?
Leider entfernt es nicht vollständig die Semikolons (nur auf Blöcken von Code), was ich brauche, um sie selbst loszuwerden. Also verwende ich die .replace()
Funktion, aber die Semikolons werden aus irgendeinem Grund nicht entfernt.
Hier ist, was ich derzeit haben:
generatedCode = escodegen.generate(esprima.parseModule(code), escodegenOptions)
const cleanGeneratedCode = generatedFile.replace(';', '')
console.log('cleanGeneratedCode ', cleanGeneratedCode) // string stays the exact same.
Bin ich etwas falsch zu machen oder vielleicht etwas fehlt?
Wahrscheinlich wird ein einzelnes Semikolon entfernt. Anstatt eine Teilzeichenfolge zu verwenden, probiere 'generatedFile.replace (/;/g, '')'. – c1moore
Danke! Das war genau das, was ich brauchte (hätte es besser wissen müssen ...). Setzen Sie das als eine Antwort, so dass ich es als die Auflösung für das Problem markieren kann :) – theJuls
RegExp verwenden, um alle zu ersetzen: generatedFile.replace (new RegExp (';', 'g'), ''); – mscdeveloper