diff --git a/src/generator/template-engine.js b/src/generator/template-engine.js index 789b81d4e1d51e7415d01b3e0b0b4e6067941422..13bab9637567e06c8df638e107d3c8a8102573db 100644 --- a/src/generator/template-engine.js +++ b/src/generator/template-engine.js @@ -37,11 +37,12 @@ class TemplateEngine { addEditedFields: this.onceData.addEditedFields, } ); - - fs.writeFileSync(path.join( - this.onceData.templateInfo.targetPath - ,this.resolveTargetFileName(this.onceData.templateInfo.targetName) - ), + let filePath = path.join( + this.onceData.templateInfo.targetPath + ,this.resolveTargetFileName(this.onceData.templateInfo.targetName) + ) + this.mkdirsSync(path.dirname(filePath)); + fs.writeFileSync(filePath, result) } @@ -52,6 +53,19 @@ class TemplateEngine { capitalizeCamelTableName: this.onceData.capitalizeCamelTableName }) } + + + mkdirsSync(dirname) { + if (fs.existsSync(dirname)) { + return true; + } else { + if (this.mkdirsSync(path.dirname(dirname))) { + fs.mkdirSync(dirname); + return true; + } + } + } + }