• 企业门户APP
  • 升级指南

    主要提供 Hippius 各包升级版本方法及注意事项。

    升级准备

    1. 升级需要使用 Hzero 提供的 cli 工具命令。关于 cli 的安装和详细使用,参见Hzero 文档-创建前端项目-环境变量.

    2. 升级前请确保悉知你的项目创建时执行的各操作,因为升级工作也会按照这部分逐一检查修改内容。参见本文档获取项目

    升级步骤

    1. 在需要升级的工程目录下执行以下命令。
    $ hzero-front-cli .
    
    1. 修改 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 版本。

    1. 检查src/index.js的内容,看升级是否导致下面两段秀米的引入内容被删除,如果被删除的话继续加上这两句:
    // 轮播图闪屏/企业频道自定义消息素材库的秀米富文本
    import * as loadEditor from 'hippius-front/lib/components/hipsEditor/loadEditor';
    
    // other codes
    
    // 加载的秀米富文本
    loadEditor.load();
    
    1. 检查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
      ]);
    
    1. 检查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配置文件内容而定。
    
    1. 如果你的项目在开发时修改了主项目的任何内容,请检查升级前和升级后变动的文件,看看你的这些修改是否还存在。

    常见问题

    一、升级后遇项目启动失败等问题?

    发现类似问题后,首先按照报错信息进行问题溯源,进行排查。如果找不到原因,首先将package.json中的关于 hippius 的依赖删除,并注释src/utils/getModuleRouters.js中添加的 hippius 开头的路由。重新安装依赖,按照启动各步骤进行启动:

    二、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 及其之后的版本,安装依赖时请注意。