{"id":18925015,"url":"https://github.com/kouyjes/resource-loader","last_synced_at":"2025-06-15T09:34:02.352Z","repository":{"id":57214757,"uuid":"97099971","full_name":"kouyjes/resource-loader","owner":"kouyjes","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-26T21:22:22.000Z","size":109,"stargazers_count":2,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-02T04:16:57.033Z","etag":null,"topics":["css","css-loader","dep-resource","js","js-loader","loader","promise","promise-loader","resource-loader"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kouyjes.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-13T08:39:16.000Z","updated_at":"2021-05-05T10:18:11.000Z","dependencies_parsed_at":"2024-10-02T07:03:17.917Z","dependency_job_id":"45a17301-a286-4be6-8e80-43ac392cd85c","html_url":"https://github.com/kouyjes/resource-loader","commit_stats":{"total_commits":59,"total_committers":2,"mean_commits":29.5,"dds":"0.15254237288135597","last_synced_commit":"844a8b15dde023ac44292bcafd14cb567bc5159b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kouyjes/resource-loader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kouyjes%2Fresource-loader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kouyjes%2Fresource-loader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kouyjes%2Fresource-loader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kouyjes%2Fresource-loader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kouyjes","download_url":"https://codeload.github.com/kouyjes/resource-loader/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kouyjes%2Fresource-loader/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259952340,"owners_count":22936945,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css","css-loader","dep-resource","js","js-loader","loader","promise","promise-loader","resource-loader"],"created_at":"2024-11-08T11:08:54.144Z","updated_at":"2025-06-15T09:34:02.330Z","avatar_url":"https://github.com/kouyjes.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Getting Started\n### Define Resource\n1. Resource declaration\n```javascript\n    interface Resource {\n        type:String; // type name js|css\n        urls:String[]; \n        serial?:Boolean; // if serial load urls\n        dependence?:Resource; // will be load before load urls\n        timeout?:number // timeout of every url item load  | ms\n    }\n```\n2. parallel load resource urls \n```javascript\n    var resource = {\n        type:'js',\n        urls:['test/a.js']\n    };\n```\n3. serial load resource urls\n```javascript\n    var resource = {\n        type:'js',\n        serial:true,\n        urls:['test/a.js']\n    };\n```\n4. with dependence\n```javascript\n    var resource = {\n        type:'js',\n        urls:['test/a.js'],\n        dependence:{\n            type:'js',\n            urls:['test/b.js']\n        }\n    };\n    // load: b.js --\u003e a.js\n```\n5. css resource\n```javascript\n    var resource = {\n        type:'css',\n        timeout:2000,\n        urls:['test/a.css']\n    };\n```\n6. text resource\n```javascript\n    var resource = {\n        type:'text',\n        timeout:2000,\n        urls:['test/a.html']\n    };\n```\n7. json resource\n```javascript\n    var resource = {\n        type:'json',\n        timeout:2000,\n        urls:['test/a.json']\n    };    \n```\n8. image resource\n```javascript\n    var resource = {\n        type:'image',\n        timeout:2000,\n        urls:['test/a.image']\n    };       \n```\n### start load resource\n1. Define ResourceLoader\n```javascript\n    interface ResourceLoaderOption {\n        baseURI?:String; // Define load baseURI\n        useCache?:Boolean; // if use Cache\n        params?:Object // url query params\n        timeout?:number; //timeout of all loaders\n    }\n    var loader = new HERE.ResourceLoader({\n        baseURI:'../',\n        timeout:8000 // timeout of all request\n   });\n```\n2. Start load Resource\n```javascript\n    var promise = loader.load(resource);\n    promise.then(function(){\n        console.log('load finished !');\n    },function(){\n        console.log('load error or timeout !');\n    });\n    \n    //other resource,will load resourceCss after resourceJs has been loaded\n    var resourceJs,resourceCss;\n    loader.load(resourceJs,resourceCss);\n    // parallel load resource,you can\n    loader.load([resourceJs,resourceCss]);\n    // mixed serial load and parallel load,\n    //load resourceC after resourceJs and resourceCss has been loaded,resourceJs and resourceCss load parallel\n    var resourceC;\n    loader.load([resourceJs,resourceCss],resourceC);\n```\n3. Extend loader for ResourceLoader\n```javascript\n    ResourceLoader.registerLoader(type:String,loader:Loader);\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkouyjes%2Fresource-loader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkouyjes%2Fresource-loader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkouyjes%2Fresource-loader/lists"}