升级指南
主要提供 Hippius 各包升级版本方法及注意事项。
升级准备
升级需要使用 Hzero 提供的
cli
工具命令。关于cli
的安装和详细使用,参见Hzero 文档-创建前端项目-环境变量.升级前请确保悉知你的项目创建时执行的各操作,因为升级工作也会按照这部分逐一检查修改内容。参见本文档获取项目
升级步骤
- 在需要升级的工程目录下执行以下命令。
$ hzero-front-cli .
- 修改
package.json
中 hippius 各包的版本为将要升级的版本,并删除主项目node-modules
, 重新执行yarn install
操作。例如:
"hippius-front": "^0.7.0",
"hippius-front-analyse": "^0.7.0",
"hippius-front-app": "^0.7.0",
"hippius-front-contact": "^0.7.0",
"hippius-front-msggroup": "^0.7.0",
"hippius-front-subapp": "^0.7.0"
"hippius-front-qnr": "^0.7.0"
注意: hippius-front-qnr
只有 0.7.0 版本。
- 检查
src/index.js
的内容,看升级是否导致下面两段秀米的引入内容被删除,如果被删除的话继续加上这两句:
// 轮播图闪屏/企业频道自定义消息素材库的秀米富文本
import * as loadEditor from 'hippius-front/lib/components/hipsEditor/loadEditor';
// other codes
// 加载的秀米富文本
loadEditor.load();
- 检查
src/utils/getModuleRouters.js
中的内容,如果升级导致了 hippius 相关路由被删除,加上:js import * as hippiusFrontAnalyse from 'hippius-front-analyse/lib/utils/router'; import * as hippiusFrontApp from 'hippius-front-app/lib/utils/router'; import * as hippiusFrontContact from 'hippius-front-contact/lib/utils/router'; import * as hippiusFrontMsggroup from 'hippius-front-msggroup/lib/utils/router'; import * as hippiusFrontSubapp from 'hippius-front-subapp/lib/utils/router'; import * as hippiusFrontQnr from 'hippius-front-qnr/lib/utils/router';
同样,文件末尾的数组里也需要检查这些路由是否添加:
export default app =>
getModuleRouters(app, [
hippiusFrontAnalyse,
hippiusFrontApp,
hippiusFrontContact,
hippiusFrontMsggroup,
hippiusFrontSubapp,
hippiusFrontQnr,
// other hzero ruotes
// other your routes
]);
- 检查
config/webpack.config.js
中对hzero-front
的正则的修改,是否被还原,如被还原请做修改:
// 替换 hzero-front.. 等正则,将其替换为 (hippius|hzero)-front..
// 例如:
const hzeroFrontChildNodeModulePathReg = new RegExp(
`hzero-front\\S*\\${path.sep}node_modules`);
// 替换为:
const hzeroFrontChildNodeModulePathReg = new RegExp(
`(hippius|hzero)-front\\S*\\${path.sep}node_modules`);
// 具体替换次数视不同版本的 Hzero wepback配置文件内容而定。
- 如果你的项目在开发时修改了主项目的任何内容,请检查升级前和升级后变动的文件,看看你的这些修改是否还存在。
常见问题
一、升级后遇项目启动失败等问题?
发现类似问题后,首先按照报错信息进行问题溯源,进行排查。如果找不到原因,首先将package.json
中的关于 hippius 的依赖删除,并注释src/utils/getModuleRouters.js
中添加的 hippius 开头的路由。重新安装依赖,按照启动各步骤进行启动:
如果仍然发生同样的问题和同样的报错,可以判断是 Hzero 升级的问题,可在 Hzero 交流群中提供信息,询问解决办法。
如果删除依赖后报错不再发生,请至Console 平台提工单,说明问题原因,会有专人进行解决。
二、npm 镜像源问题
从 v0.5.0 开始,hippius 各包的镜像源由原来的
http://mobile-app.hand-china.com/nexus/content/groups/hippius-ui-group/
更改为
http://nexus.saas.hand-china.com/content/groups/hzero-npm-group/
因此原来的镜像源不再提供 v0.5.0 及其之后的版本,安装依赖时请注意。