跳到主要内容
迁移指南
本篇讲解历史版本脚手架迁移到最新cabinx-cli的细节。

感谢您对cabinx团队的支持,新的cabinx的开发模式发生了一些变化,使入手和开发更加简单,现在我们将花10分钟左右的时间了解新模式的特性以及如何从老模式迁移过来。

区别

历史版本

  • 之前的项目目录会有dev,src,dist目录,以及一系列复杂的路径规范,比如必须将项目放在kayak-project下边,对刚接触cabinx的同学不太友好。
  • 每个项目都需要安装编译器,但是大部分情况下,所有项目安装的编译器是同一个版本。
  • 开发的调试参数 debug-xxx=http://... 在输入时容易出错
  • 手机端项目开发调试不方便
  • 还有一些与业务不相关操作

新版本

  • 去掉 devsrc 目录,业务代码直接放在项目的根目录。
  • 项目不需要放在 kayak-project 下边。
  • 编译器改为全局安装,安装一次所有项目都可以使用。
  • 提供了调试管理页面,开发者可以在页面上打开需要调试的页面。
  • 提供了手机端调试和开发的方案。
  • 开发者可以自由配置 dev-server 的指向,开发服务启动后,编译器会自动将代码部署为运行时要求的目录结构,而无需开发者关心。

开始迁移

全局安装cabinx-cli

npm install cabinx-cli -g

目录修改

  • 创建一个新的分支 cabinxcli
  • 将业务代码(路径为: dev/ <your_project_name> /)下边的所有文件 copy 到项目根目录下(与dev目录平级)。
  • 删除dev,src,nodemodules目录。

代码修改

  • 删除 package.json 中,cabin-service-cli 的配置
  • 如果使用了某些 npm 包,但是在 package.json 中没有配置(eg. axio,qs 等),请自行添加到依赖列表中
  • main.js 里边 window.aDefine 的定义删除
  • 重新安装依赖:运行 npm install

异常

与dev 目录有同级代码,做一些工程化功能的代码?
问题原因是根目录下的所有文件夹,除了dev,src,nodemodules,mobileapp,_deploy_ignore 目录都会参加编译,可以在项目根目录下创建 _deploy_ignore 文件夹,将相关代码放在其中,这样就可以避免一些私有工程化逻辑参与编译。