UNPKG

ae-biu

Version:

Born For AE, Born To Do

241 lines (173 loc) 5.57 kB
# AE-BIU 🔫🔫🔫 > Born For [AE](http://git.sdp.nd/component-h5/aeae), Born To Do 🎉🚀👊 > 为 [AE](http://git.sdp.nd/component-h5/aeae) 而生,生来就是干 🎉🚀👊 ## 环境 - `Node`: `^8.0.0` - `npm`: `^5` ## 安装 ```bash npm install -g ae-biu ``` ## 发布 发布前请仔细了解[发布流程](./RELEASE.md) ## 包含功能 - 初始化项目 ```bash # 使用 master 分支作为模板 ae init # 使用指定分支或者 tag 作为模板 ae init -b <branch-name|tag-name> ``` - 提取多语言文件 ```bash # 使用 package.json 中定义的所有语言 ae i18n # 指定语言 ae i18n -l en-US,en-GB ae i18n --lang en-US,en-GB # 非扁平模式 ae i18n -u ae i18n --no-flat ``` - 本地开发 ```bash ae dev ``` - 打包部署 ```bash ae build ``` - 静态文件服务(模拟生产环境) ```bash ae start ``` - 启动 `Mock` ```bash ae mock ``` - 更多命令 ```bash ae help ``` ## 最佳实践 1. 安装 `ae-biu` 1. 初始化项目 `ae init` 1. `cd <项目文件夹>` 1. 启动本地服务 `ae dev`,默认对接共享平台测试环境,可通过设置 `process.env.SDP_ENV` 更改 1. 打包部署 `ae build`,默认打包目录为 `./dist`,可在 `package.json > ae > output` 中指定 ## 主题定制 `AE` 目前有一套默认的主题,如需定制或修改,只需在 `package.json` 中设置 `ae > theme` 即可。 主题分为 `AE``Fish` 两部分,可分别设置。 ```json { "ae": { "theme": { "ae": {}, "fish": {} } } } ``` ### Fish `Fish` 主题自定义请参考[文档](http://fish-docs.dev.web.nd/docs/react/customize-theme-cn),通过 `ae-biu``fish` 可支持 `JSON` 或者 `JSON` 文件的方式设置。 ### AE `AE` 主题支持 `JSON` 或者 `JSON` 文件的方式,目前 `AE` 主题如下 ```json { "white": "#FFFFFF", "black": "#000000", "red": "#FF5745", "blue": "#2D8CF0", "aside_width": "250px", "page_min_width": "980px" } ``` 如需更多主题项,[`issues are welcome`](http://git.sdp.nd/component-h5/aeae/issues) ## 自定义 `webpack` 配置 `ae-biu` 支持自定义 `webpack` 配置,只需要在和 `package.json` 同级目录下放置 `webpack` 配置文件即可,优先级为:`webpack.config.babel.js` > `webpack.config.js` > `webpack.js` 支持返回 `function` 或者 `object` ```javascript // function way export default (config) => { // handle config with your code return config } ``` ```javascript // object way export default { // webpack config } ``` ## 首页 `template` 首页模板已被整合入 [`ae-biu`](/template)。 包括 `uc 1.0` 以及 `uc 0.93` 两个版本,默认为 `1.0`,如需切换只需在 `package.json > ae > uc` 指定即可。 默认设置的组织名为 `nd`,如需重新设置只需在 `package.json > ae > org` 指定即可。 ```json { "ae": { "org": "ndtest", "uc": "0.93" } } ``` 也可以自定义模板,只需在 `package.json > ae > template` 指定模板路径即可。 ## 多语言 `ae-biu` 在初始化之时会默认设置多语言为`简体中文(zh-CN)``英文(en)`,如需更多语言或修改,可在 `package.json > ae > languages` 中修改,这些修改将会同步反馈到主题的语言选择中。 ```json { "ae": { "languages": [ "zh-CN", "en" ] } } ``` 目前 `AE` 支持的多语言如下,如需更多支持,[`issues are welcome`](http://git.sdp.nd/component-h5/aeae/issues) ```json { "zh-CN": "简体中文", "zh-HK": "繁体中文", "en": "English", "id": "Bahasa Indonesia", "th": "ภาษาไทย", "ar": "العربية" } ``` ## Mock Server `ae-biu` 支持 `Mock Server`,其底层依赖于 [`Express`](https://github.com/expressjs/express) 与 [`json-server`](https://github.com/typicode/json-server),并在 `json-server` 的基础之上添加了 [`REST API`](http://doc.sdp.nd/index.php?title=RESTAPI%E8%A7%84%E8%8C%83-List) 支持,目前支持以下参数: - `$filter` - `$offset` - `$limit` - `$orderby` > `$count` 由于 `json-server` 限制不能支持,但可以参考 `json-server` 文档获取此值 若要使用 `Mock Server`, 需要在与 `package.json` 同级目录下创建 `mock/db.json` 即可,`db.json` 格式请参考 `json-server` 通过 `ae mock` 启动 `Mock Server` 之后,建议配合 `Charles``MapRemote` 或者 `Fiddler``AutoResponder` 实现真实地址映射本地地址,实现更友好的 `Mock Server` ## 为多语言文件增加 `hash` 从 [`v1.3.0`](http://git.sdp.nd/fed/ae-biu/commit/5d0ddc6abfb32bbf17386640d32c122a571cd082) 开始,`ae-biu` 将支持为多语言文件增加 `hash`,格式为 `[lang].[hash].json`,仅在 `ae build` 下生效 若需要为多语言文件增加 `hash`,将 `package.json > ae > addHashForI18N` 设置为 `true` 即可 ## 添加 `polyfills` 若需要添加 `polyfills`,只需要在 `package.json > ae > polyfills` 中添加即可,如: ``` json { "ae": { "polyfills": [ "fetch-polyfill" ] } } ``` 举个栗子:[ae-boilerplate/mock-uc](http://git.sdp.nd/fed/ae-boilerplate/tree/mock-uc) ## Todo - [x] `ae init` - [x] `ae i18n` - [x] `ae build` - [x] `ae dev` - [x] ~~`ae lint`~~ - [x] ~~`ae test`~~ ***废弃***, 请使用 `ae unit` 以及 `ae e2e` - [x] `ae e2e` - [ ] `ae unit` - [x] `ae start` - [x] `ae mock` > 还有很多细节需要优化,欢迎提出 [issue](http://git.sdp.nd/fed/ae-biu/issues) 或者 [MR](http://git.sdp.nd/fed/ae-biu/merge_requests/new),但请遵循[贡献指南](/CONTRIBUTING.md)