flat serve
flat build
发布并行
- 必须要在项目package.json scripts 中配置
"parallel": "npx flat mount parallel --prefix"
编译&发布Stable
- 如果flatjs升级至2.1.x,必须要在项目package.json scripts 中配置
"stable": "npx flat ci parallel --allow-pending-commit-files=true --auto-extract-requirement=false"
Enum => Map & List 枚举生成器
1. 只会在文件命名为 enum.ts 中出现
2. 枚举书写方式
export enum XxxxxEnum {
/** key描述 */
key = 1,
/** key描述 */
key2 = '2',
}
主要枚举命名和key描述的书写位置(key描述用于生成enumMap数据)
3. 在 enum.ts 中选择枚举块数据双击选择【Enum=>Map&List】菜单,可生成 enum-map.ts、enum-list.ts对应数据(enum-map.ts、enum-list.ts文件可动态创建)
例如:
选中如下枚举块
export enum AlertFaultTypeEnum {
/** 超时问题 */
timeOut = 'timeOut',
/** 数据库问题 */
databaseError = 'databaseError',
/** http请求问题 */
httpError = 'httpError',
/** 服务问题 */
serverError = 'serverError',
}
可生成
enum-map.ts
export const alertFaultTypeEnumMap: Record<AlertFaultTypeEnum, string> = {
[AlertFaultTypeEnum.timeOut]: '超时问题',
[AlertFaultTypeEnum.databaseError]: '数据库问题',
[AlertFaultTypeEnum.httpError]: 'http请求问题',
[AlertFaultTypeEnum.serverError]: '服务问题'
};
enum-list.ts
export const alertFaultTypeEnumList = mapToListExact<MapToListDefaultItem<AlertFaultTypeEnum>>(
alertFaultTypeEnumMap,
enumValues(AlertFaultTypeEnum),
);
4. 可解析的枚举块结构
3.1 export enum xxx { key=value }
3.2 /** xx */ export enum xxx { key=value }
操作说明
- 模块是在flatjs-evolve.config.ts通过正则匹配的,匹配规则如下
// 1. projectVirtualPath的定义
// 2. entryMap的写法,必须是 getEntryMap 参数数组形式
// 3. getEntryMap 函数内部 entry 值的写法 [`xxxx$xxxxx`],
const getEntryMap = (modules) => {
...
entry: [`./src/modules/${module.name}/index`],
...
};
const getEntryMap = (modules) => {
...
return entryMap;
};
export default defineConfig(() => ({
projectVirtualPath: '/alert/web',
...
entryMap: getEntryMap([
{ name: 'main', title: '首页' },
{ name: 's-govern/configs' },
{ name: 's-govern/dashboard' },
]),
}));
- 任意文件或者文件夹有三种菜单形式可启动命令,如果无法匹配到模块,会有弹框选择模块操作
1. 资源管理器上下文菜单
2. 编辑器上下文菜单
3. 编辑标题菜单栏