# cc-subpackage-loader **Repository Path**: jiankesword/cc-subpackage-loader ## Basic Information - **Project Name**: cc-subpackage-loader - **Description**: cocos creator 分包加载 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-06-13 - **Last Updated**: 2022-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 对 cocos creator 分包加载的封装 ## 分包加载 * 该模块适合在项目初始加载的时候加载子包 * 这里提供两种加载分包的模式 ### 并行加载 * 子包之间无依赖关系,使用并行加载可以提高子包的总加载效率。 * 可以理解成没有完成顺序的加载 ### 串行加载 * 子包之间有依赖关系,应该先加载放置被依赖的子包,再加载依赖项的子包 * 可以理解成按顺序加载,先加载完第一个再加载第二个以此类推 ## 如何使用 * 源码在 src/subpackageLoader.js * 将 subpackageLoader.js 文件放到项目目录下 ``` javascript // 并行加载 import { parallelLoadPackage } from "subpackageLoader" const subpackageNameList = ['sounds', 'icon', 'ui', 'animation'] parallelLoadPackage(subpackageNameList) .then(() => { console.log('所有分包加载完成') }) ``` --- ``` javascript // 串行加载 import { serialLoadPackage } from "subpackageLoader" const subpackageNameList = ['sounds', 'img', 'prefab', 'scene'] serialLoadPackage(subpackageNameList) .then(() => { console.log('所有分包按顺序加载完成') }) ``` --- * 也可以嵌套使用 * 下面是简单的例子 * 对于分包复杂的项目也可以进行更复杂的多层嵌套 ``` javascript // 嵌套使用 import { parallelLoadPackage, serialLoadPackage } from "subpackageLoader" const beDependedList = ['sounds', 'icon', 'ui', 'animation'] const dependList = ['prefab', 'scene'] parallelLoadPackage(beDependedList) .then(() => serialLoadPackage(dependList)) .then(() => { console.log('分包加载完成') }) ``` --- ## 单元测试 * /test 目录下的是单元测试文件 * 现在命令行进入该仓库的目录, 然后执行 ```npm install ``` 下载对应的依赖 * ```npm run test ``` 即可运行测试 ## 更新 * 2020-06-28 兼容 qq 小游戏平台,建议使用串行加载