初始化

This commit is contained in:
xiaoyi
2024-01-27 19:53:17 +08:00
commit 07dbe71c31
840 changed files with 119152 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
{{#if isFilesystem}}
<route lang="yaml">
meta:
title: 页面标题
</route>
{{/if}}
<script lang="ts" setup name="{{ properCase componentName }}">
// 逻辑代码
</script>
<template>
<div>
<!-- 布局 -->
</div>
</template>
<style lang="scss" scoped>
// 样式
</style>

View File

@@ -0,0 +1,60 @@
const path = require('path')
const fs = require('fs')
function getFolder(path) {
const components = []
const files = fs.readdirSync(path)
files.forEach((item) => {
const stat = fs.lstatSync(`${path}/${item}`)
if (stat.isDirectory() === true && item !== 'components') {
components.push(`${path}/${item}`)
components.push(...getFolder(`${path}/${item}`))
}
})
return components
}
module.exports = {
description: '创建页面',
prompts: [
{
type: 'list',
name: 'path',
message: '请选择页面创建目录',
choices: getFolder('src/views'),
},
{
type: 'input',
name: 'name',
message: '请输入文件名',
validate: (v) => {
if (!v || v.trim === '') {
return '文件名不能为空'
}
else {
return true
}
},
},
{
type: 'confirm',
name: 'isFilesystem',
message: '是否为基于文件系统的路由页面',
default: false,
},
],
actions: (data) => {
const relativePath = path.relative('src/views', data.path)
const actions = [
{
type: 'add',
path: `${data.path}/{{dotCase name}}.vue`,
templateFile: 'plop-templates/page/index.hbs',
data: {
componentName: `${relativePath} ${data.name}`,
},
},
]
return actions
},
}