配置相关
注:
config.json 文件变动的时候需要打内置包 bm eros pack 到对应平台。
dev.json 文件变动的时候需重启开发服务 bm eros dev。
config.json
weex-eros 关于三端的配置文件
{
"appName": "weex-eros-demo",
"version": {
"android": "1.0.0",
"iOS": "1.0.0"
},
"page": {
"homePage": "/pages/home/index.js",
"mediatorPage": "/service/bus/index.js",
"navBarColor": "#3385ff",
"navItemColor":"#ffffff"
},
"url": {
"request": "http://xxx.xxx.com",
"local": "http://app.weex-eros.com",
"image": "https://lev-inf.benmu-health.com/xxx/xxx"
},
"zipFolder": {
"server": "home/app",
"iOS": "/ios/WeexEros/WeexEros",
"android": "/android/WeexFrameworkWrapper/app/src/main/assets"
},
"getui": {
"enabled": "false",
"appId": "",
"appKey": "",
"appSecret": ""
},
"umeng": {
"enabled": "false",
"iOSAppKey": "",
"androidAppKey": ""
},
"wechat": {
"enabled": "false",
"appId": "",
"appSecret": ""
},
"amap": {
"enabled": "false",
"appKey": ""
}
}
appName: 脚手架自动生成 app 名称;
version:app 对应版本号,脚手架会自动初始化填写:
iOS:iOS 对应版本号。
android:andorid对应版本号。
page:页面配置相关:
homePage:主页的 js 相对地址。
mediatorPage:中介者页面的相对地址,中介者页面是为了让我们在多个页面(js)中间可以通过事件来通信。
navBarColor:原生导航条的默认颜色。(IOS 支持rgba,安卓不支持rgba)
navItemColor: 原生导航栏字体颜色。(IOS 支持rgba,安卓不支持rgba)
url:路经相关:
request:默认要请求的域名。
jsServer:本地 js 的服务路径。
image:图片上传绝对路径。
zipFolder:包路径。
server:自动生成差分包的目录,可将脚手架部署在服务器上,做增量发布。
iOS:ios内置包地址,如果需要变更项目目录,请对应修改,如果不需要,就不要修改。
android:android内置包地址,如果需要变更项目目录,请对应修改,如果不需要,就不要修改。
getui 个推 (目前项目推送服务是基于个推实现的)
enabled: 是否启用个推服务。
appId、appKey、appSecret 在个推平台申请。
umeng 友盟统计相关
enabled:是否启用友盟统计,友盟分享服务;
iOSAppKey、androidAppKey 友盟后台申请的appkey,分别对应iOS、Android。
wechat 微信支付相关
enabled:是否启用微信支付,微信分享。
appId、appSecret 微信开放平台申请。
amap 高德(工具集成了 高德地图SDK)
enabled: 是否启用高德地图。
appkey 填写从高德开发平台申请的appkey。
fe/dev.json
开发相关配置,也就是脚手架需要读取的配置,因为此项配置,是在脚手架启动开发服务才会去读取一次,所以每次变动,都需要重新启 bm eros dev 开发服务。
{
"exports": [
"js/service/bus.js",
"js/pages/home/index.js",
"js/pages/demo/index.js",
"js/pages/home/tab1/index.js",
"js/pages/home/tab2/index.js",
"js/pages/home/tab2/components/router/index.js",
"js/pages/home/tab3/index.js"
],
"alias": {
"Components": "js/components",
"Common": "js/common",
"Config": "js/config",
"Widget": "js/widget",
"Pages": "js/pages",
"Utils": "js/utils"
},
"server": {
"path": "../",
"port": 80
},
"proxy": [{
"route": "/test",
"target": "127.0.0.1:52077/test"
}],
"mockServer": {
"port": 52077,
"mockDir": "./dist/mock"
}
}
- exports:暴露出你的页面对应的 js 地址,app中的每个页面本质上都对应一个 js,所以你每次添加一个页面,都需要再次添加需要打包成 js bundle 的文件。
- alias:文件夹别名,方便快速访问。
import 'Components' //对应 js/components
- server:脚手架起服务的路径和端口,使用默认即可。
- proxy:代理相关,会把
/test
路径对应的请求代理的到127.0.0.1:52077/test
,默认即可,无需修改。 - mockServer:本地
mock
数据服务,因为proxy
中已经把/test
路径代理带52077
端口,而我们在52077
端口起了mock
服务,所以能在本地mock
数据。