首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

参考 lerna 的方式拆分类单页应用

前言

在公司的全日制游戏项目中,原本的项目结构是这样的:

在 中,是每个独立的游戏项目,有独立的入口文件,但是部分通用的文件又在外部集合,包括静态资源。这种做法带来的坏处是不同的游戏之间耦合严重,开发和发布的时候构建项目的速度很慢(项目庞大),不能单独发布单个游戏,在开发的过程中新建游戏需要重复复制粘贴文件。导致开发的效率低下。最后决定参考 create-react-app 的做法,并且用类似 lerna 管理 npm 包的方式来控制单个游戏的打包。新的目录结构如下:

其中 和 是参考 和 vue-cli 的做法。而单独打包更新游戏的命令集成在 里面。 则是部分通用的库。每个游戏拥有独立的 ,然后每个游戏在games 独立成一个文件夹,可以各自引入依赖,避免相互之间的影响,并且在开发过程中可以单独开发单个游戏。

create-steam-game

基本参考 的做法。

全局安装后可以 通过 来创建新的游戏,会创建相应的游戏文件夹,并且安装 ,然后调用 中的 ,来安装相应的依赖和复制默认的文件,安装好的目录文件如下:

安装好之后就可以进入开发了!

steam-game-scripts

steam-game-scripts 的主要工作是负责搭建和打包项目。

由于我司是使用自建的发布系统进行项目的打包发布。于是需要在发布系统上在打包的时候添加自定义的 npm 执行命令。所以这里使用了 --options 的方式来支持单个游戏的打包。也可以搭建多个新游戏的项目仓库来分开打包。

steam-game-scripts/scripts/start.js

未完待续...

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181106G1VOZ400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券