项目作者: tengge1

项目描述 :
Javascript包管理器,提供包的管理和动态加载功能,避免开始加载资源过多,导致载入缓慢。
高级语言: JavaScript
项目地址: git://github.com/tengge1/PackageManager.git
创建时间: 2018-11-10T13:01:04Z
项目社区:https://github.com/tengge1/PackageManager

开源协议:MIT License

下载


Package Manager包管理器

Package Manager包管理器,提供包的管理和动态加载功能,避免开始加载资源过多,导致载入缓慢。

依赖项

无。

使用方法

示例一

  1. var pm = new PM.Manager();
  2. pm.setPath('./packages');
  3. pm.add('moduleA', [
  4. 'ModuleA.js'
  5. ]);
  6. pm.load('moduleA').then(() => {
  7. alert(moduleNameA);
  8. FunctionA();
  9. });

示例二

  1. var pm = new PM.Manager();
  2. pm.addFromFile('./packages/my-packages.json').then(() => {
  3. pm.loadAll().then(() => {
  4. alert(moduleNameA);
  5. alert(moduleNameB);
  6. FunctionA();
  7. FunctionB();
  8. });
  9. });

示例三

  1. var pm = new PM.Manager();
  2. pm.setPath('./packages');
  3. pm.require([
  4. 'MyCss.css',
  5. 'ModuleA.js',
  6. 'ModuleB.js'
  7. ]).then(() => {
  8. alert(moduleNameA);
  9. alert(moduleNameB);
  10. FunctionA();
  11. FunctionB();
  12. });

API参考

  1. var pm = new PM.Manager(path = 'packages'); // 创建包管理器:path为资源目录
  2. pm.getPath(); // 获取资源目录
  3. pm.setPath(path); // 设置资源目录
  4. pm.add((name, assets = [])); // 添加一个包,name为包名,assets为资源列表,assets=[url1, url2, ...]
  5. pm.addFromFile(path); // 从文件添加包,文件格式见资源文件格式
  6. pm.remove(name); // 移除一个包
  7. pm.get(name); // 获取一个包
  8. pm.load(names); // 加载一个或一些包
  9. pm.loadAll(); // 加载所有包
  10. pm.require(assets); // 加载资源列表,assets为资源或资源列表,assets=[url1, url2, ...]

资源文件格式

  1. {
  2. "name": "My Packages",
  3. "version": "0.0.1",
  4. "packages": [
  5. {
  6. "name": "ModuleA",
  7. "assets": [
  8. "MyCss.css",
  9. "ModuleA.js"
  10. ]
  11. },
  12. {
  13. "name": "ModuleB",
  14. "assets": [
  15. "ModuleB.js"
  16. ]
  17. }
  18. ]
  19. }