myself
Configure in .umirc.js
,
export default {
plugins: [
['umi-plugin-auto', options],
],
}
{
quotes: 'single', // 单引号还是双引号 默认双引号
globalIndex:'$name' // 全局设置每个模块的入口文件,默认index.tsx 可以指定设置为一个文字,也可以使用$xxx 动态取name字段为名字
...
}
common: [], // 组件,数组每项为obj,具体格式看模块参数
layouts: [], // 数组每项为obj,具体格式看模块参数
pages: [] // 数组每项为obj,具体格式看模块参数
{
name: '', // 模块名字,必填
state: [], // redux中可读的数据
func: [], // redux中可写的数据
isPage:false // 是否生成入口文件 默认是true
isComponent:false :false // 同上 仅仅为语义化
index:'index', // 入口文件的名字,先取这个,取不到取全局的,全局没有就是默认了
type:'class' // react风格,默认hook
children:[] // 子页面/模块
}
{
'name': 'name', //必须和func对应
'type': 'string', //必须和func对应
'default': 'hello word'
}
{
'method': 'setName',
'parameter': 'name', //必须和state对应
'parmType': 'string' //必须和state对应
}
{
quotes: 'single',
common: [
{
name: 'formNameInput',
state: [{
'name': 'nameInput',
'type': 'string',
'default': 'user'
}],
func: [{
'method': 'setNameInput',
'parameter': 'nameInput',
'parmType': 'string'
}],
},
{
name: 'formPasswordInput',
state: [{
'name': 'passwordInput',
'type': 'string',
'default': ''
}],
func: [{
'method': 'setPasswordInput',
'parameter': 'passwordInput',
'parmType': 'string'
}],
}
],
layouts: [
{
name: 'loginLayout',
state: [],
func: [],
},
{
name: 'appLayout',
state: [],
func: [],
}
],
pages: [
{
name: 'login',
state: [],
func: [],
},
{
name: 'app',
state: [],
func: [],
children:[
{
name:'components',
isPage: false,
state: [],
func: [],
children:[
{
name: 'user1',
state: [{
'name': 'title',
'type': 'string',
'default': ''
}],
func: [],
},
{
name: 'user2',
state: [{
'name': 'title',
'type': 'string',
'default': ''
}],
func: [{
'method': 'setTitle',
'parameter': 'title',
'parmType': 'string'
}],
}
]
}
]
}
]
}
MIT