
# aha微前端运行脚手架

该项目已在npm发布，用于配合aha微前端模板运行，方便多入口的运行和打包，已经入口代码的封装。脚手架会自动读取entry目录下的所有子项目，并用多列表形式选择运行，将入口注入项目的环境变量中，再从项目运行入口中获取这些运行变量执行不同的编译。

## 指令集

* -v --version 版本信息  
* -h --help 帮助信息  
* create  创建一个初始项目
* dev 运行开发环境  
* build 打包项目  
  * build --env val1 --entry 可以实现单个项目直接打包

## 必要的配置  

### 保证入口路径
子项目路径为src/entry/*    
*会被作为脚手架的唯一标识   

### micro-config.js 
位于根目录下，主要给脚手架读取使用，参考备注，不能删除。  
包含有通用cdn，打包环境，部署信息等。

### 子项目config.json
文件应位于src/entry/*/config.json路径  
编译时会选取*作为子项目的key值，config.json文件中的cdn在运行时会和通用的cdn进行合并。  
```json
{
	"title": "Aha口袋管理系统", // 浏览器title
	"name": "基座", // 选择运行时会提示的名字
	"port": 4000, // 本地开发端口号
	"checked": true, // 运行时是否被默认选中
	"deferJs": [], // 延迟执行的js
	"js": [], // 同步执行js
	"css": [] // 子项目css
}
```

## 运行示例
### aha-micro-cli create <name> 创建一个初始化项目

### npm run dev
![在这里插入图片描述](https://img-blog.csdnimg.cn/bc14bd00b5fd4a04bc1a26d6f71d275e.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55Kh6b6Z6bG8,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2e8a25ea06a744998aaf9a534617774c.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55Kh6b6Z6bG8,size_20,color_FFFFFF,t_70,g_se,x_16)
### npm run build
![在这里插入图片描述](https://img-blog.csdnimg.cn/3d284411bff34681b96417705828a3e2.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55Kh6b6Z6bG8,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/77dd176f5e4044609fe005d2fc7ebc4e.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55Kh6b6Z6bG8,size_20,color_FFFFFF,t_70,g_se,x_16)
### npm run deploy
会提示部署环境及输入服务器账号和密码，ssh操作阶段有一定概率会失败。
![在这里插入图片描述](https://img-blog.csdnimg.cn/42b3eb8c479748e6bba2d48b718e5050.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/f5659cd3a7844b8e80f5213a1c78b221.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55Kh6b6Z6bG8,size_20,color_FFFFFF,t_70,g_se,x_16)