同步到底座

This commit is contained in:
aixianling
2022-01-27 14:24:37 +08:00
parent e47530fecc
commit b73b247b00

View File

@@ -1,7 +1,6 @@
const fsExtra = require('fs-extra') const fsExtra = require('fs-extra')
const path = require('path') const path = require('path')
const fs = require('fs') const fs = require('fs')
const vueLoader = require('vue-template-compiler')
/** /**
* 将函数封装成promise * 将函数封装成promise
*/ */
@@ -71,13 +70,13 @@ const start = () => {
} }
findApp('src/apps', file => { findApp('src/apps', file => {
if (/.+\\App[^\\]+\\[^\\]+\.vue/g.test(file)) { if (/.+\\App[^\\]+\\[^\\]+\.vue/g.test(file)) {
let vue = vueLoader.parseComponent(fs.readFileSync(file)?.toString())
let app = { let app = {
name: file.replace(/.*\\([^\\]+).vue/g, '$1'), name: file.replace(/.*\\([^\\]+).vue/g, '$1'),
path: file.replace(/^src\\(.*).vue/g, '$1').replace(/\\/g, '/') path: file.replace(/^src\\(.*).vue/g, '$1').replace(/\\/g, '/')
} }
if (/appName/.test(vue.script.content)) { let vue = fs.readFileSync(file)?.toString()
let appName = vue.script.content.replace(/[\s\S]*(appName:.+),[\s\S]*/gm, '$1'), if (/appName/.test(vue)) {
let appName = vue.replace(/[\s\S]*(appName:.+),[\s\S]*/gm, '$1'),
title = appName.replace(/(appName:|["'])/g, '') title = appName.replace(/(appName:|["'])/g, '')
app.style = {navigationBarTitleText: title} app.style = {navigationBarTitleText: title}
} }
@@ -86,13 +85,13 @@ const start = () => {
}).then(() => { }).then(() => {
return findApp('src/sass', file => { return findApp('src/sass', file => {
if (/.+\\App[^\\]+\\[^\\]+\.vue/g.test(file)) { if (/.+\\App[^\\]+\\[^\\]+\.vue/g.test(file)) {
let vue = vueLoader.parseComponent(fs.readFileSync(file)?.toString())
let app = { let app = {
name: file.replace(/.*\\([^\\]+).vue/g, '$1'), name: file.replace(/.*\\([^\\]+).vue/g, '$1'),
path: file.replace(/^src\\(.*).vue/g, '$1').replace(/\\/g, '/') path: file.replace(/^src\\(.*).vue/g, '$1').replace(/\\/g, '/')
} }
if (/appName/.test(vue.script.content)) { let vue = fs.readFileSync(file)?.toString()
let appName = vue.script.content.replace(/[\s\S]*(appName:.+),[\s\S]*/gm, '$1'), if (/appName/.test(vue)) {
let appName = vue.replace(/[\s\S]*(appName:.+),[\s\S]*/gm, '$1'),
title = appName.replace(/(appName:|["'])/g, '') title = appName.replace(/(appName:|["'])/g, '')
app.style = {navigationBarTitleText: title} app.style = {navigationBarTitleText: title}
} }