diff --git a/bin/serve.js b/bin/serve.js index 44756966..785f496f 100644 --- a/bin/serve.js +++ b/bin/serve.js @@ -1,6 +1,7 @@ const fsExtra = require('fs-extra') const path = require('path') const fs = require('fs') +const vueLoader = require('vue-template-compiler') /** * 将函数封装成promise */ @@ -70,10 +71,16 @@ const start = () => { } findApp('src/apps', file => { if (/.+\\App[^\\]+\\[^\\]+\.vue/g.test(file)) { + let vue = vueLoader.parseComponent(fs.readFileSync(file)?.toString()) let app = { name: file.replace(/.*\\([^\\]+).vue/g, '$1'), path: file.replace(/^src\\(.*).vue/g, '$1').replace(/\\/g, '/') } + if (/appName/.test(vue.script.content)) { + let appName = vue.script.content.replace(/[\s\S]*(appName:.+),[\s\S]*/gm, '$1'), + title = appName.replace(/(appName:|["'])/g, '') + app.style = {navigationBarTitleText: title} + } json.pages.push(app) } }).then(() => {