dws-cli-ui
Version:
dws-cli dws系列:包括大屏、移动端、设计器项目等待
50 lines (45 loc) • 1.65 kB
JavaScript
const path = require("path")
const { createEJS } = require("../../utils/file")
const fs = require("fs")
const addScPage = async (name, dest) => {
const files = [
"config.event.json",
"config.json",
"config.layout.json",
"config.popup.json",
"config.request.json"
]
for (const iterator of files) {
createEJS(name, dest, "../template/screen/configPage/" + iterator, iterator)
}
}
const addScComponent = async (name, _dest) => {
const dest = path.resolve("./")
const files = [
{ name: "index.ts.ejs", fileName: "index.ts", path: `/${_dest}/${name}` },
{ name: "src/index.vue.ejs", fileName: "index.vue", path: `/${_dest}/${name}/src/` },
{ name: "src/config.json.ejs", fileName: "config.json", path: `/${_dest}/${name}/src/` },
{ name: "src/DwsComponent.ts.ejs", fileName: `${name}.ts`, path: `/${_dest}/${name}/src/` }
]
for (const iterator of files) {
createEJS(
name,
dest + iterator.path,
"../template/screen/ui/" + iterator.name,
iterator.fileName
)
}
// appendImport(name)
}
const appendImport = name => {
const filePath = path.resolve("./", "src/components/index.ts")
const impContent = `import ${name} from "./${name}"`
const file = fs.readFileSync(filePath, "utf8")
const changeImport = file.replace(
/[\r|\n]\nexport const installComponents/,
impContent + "\r\n" + "\nexport const installComponents"
)
const changeContent = changeImport.replace(/[\r|\n]]/, ",\n" + name + "\n]")
fs.writeFileSync(filePath, changeContent, "utf8")
}
module.exports = { addScPage, addScComponent }