mirror of
https://github.com/Leo501/CocosCreatorTutorial.git
synced 2026-09-03 07:27:12 +08:00
添加一个下载远程文件的脚本
This commit is contained in:
82
CreatorUtils/remoteDowload/.gitignore
vendored
Normal file
82
CreatorUtils/remoteDowload/.gitignore
vendored
Normal file
@@ -0,0 +1,82 @@
|
||||
#/////////////////////////////////////////////////////////////////////////////
|
||||
# Fireball Projects
|
||||
#/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
library/
|
||||
temp/
|
||||
local/
|
||||
build/
|
||||
/node_modules
|
||||
/assets/project.manifest
|
||||
/assets/version.manifest
|
||||
|
||||
#/assets/project.manifest.meta
|
||||
/assets/version.manifest.meta
|
||||
|
||||
#/build-templates/jsb-default/main.js
|
||||
#/build-templates/jsb-link/main.js
|
||||
|
||||
|
||||
/tools/resign/
|
||||
/tools/Package/
|
||||
/tools/buglySymbolAndroid2.6.8/
|
||||
/tools/x86-symbol.zip/
|
||||
|
||||
#/////////////////////////////////////////////////////////////////////////////
|
||||
# Logs and databases
|
||||
#/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
*.log
|
||||
*.sql
|
||||
*.sqlite
|
||||
|
||||
#/////////////////////////////////////////////////////////////////////////////
|
||||
# files for debugger
|
||||
#/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
*.sln
|
||||
*.csproj
|
||||
*.pidb
|
||||
*.unityproj
|
||||
*.suo
|
||||
|
||||
#/////////////////////////////////////////////////////////////////////////////
|
||||
# OS generated files
|
||||
#/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
.DS_Store
|
||||
ehthumbs.db
|
||||
Thumbs.db
|
||||
|
||||
#/////////////////////////////////////////////////////////////////////////////
|
||||
# exvim files
|
||||
#/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
*UnityVS.meta
|
||||
*.err
|
||||
*.err.meta
|
||||
*.exvim
|
||||
*.exvim.meta
|
||||
*.vimentry
|
||||
*.vimentry.meta
|
||||
*.vimproject
|
||||
*.vimproject.meta
|
||||
.vimfiles.*/
|
||||
.exvim.*/
|
||||
quick_gen_project_*_autogen.bat
|
||||
quick_gen_project_*_autogen.bat.meta
|
||||
quick_gen_project_*_autogen.sh
|
||||
quick_gen_project_*_autogen.sh.meta
|
||||
.exvim.app
|
||||
|
||||
#/////////////////////////////////////////////////////////////////////////////
|
||||
# webstorm files
|
||||
#/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
.idea/
|
||||
|
||||
#//////////////////////////
|
||||
# VS Code
|
||||
#//////////////////////////
|
||||
|
||||
.vscode/
|
||||
15
CreatorUtils/remoteDowload/README.md
Normal file
15
CreatorUtils/remoteDowload/README.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# 下载远程文件
|
||||
### npm install
|
||||
~~~
|
||||
npm install fs-jetpack
|
||||
npm install download
|
||||
~~~
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
71
CreatorUtils/remoteDowload/dowload.js
Normal file
71
CreatorUtils/remoteDowload/dowload.js
Normal file
@@ -0,0 +1,71 @@
|
||||
'use strict';
|
||||
|
||||
const download = require('lei-download');
|
||||
const jetpack = require("fs-jetpack");
|
||||
const path = require('path');
|
||||
const download = require('download');
|
||||
|
||||
const rootDir = "./resoure"
|
||||
|
||||
|
||||
const target = false;
|
||||
const source = 'https://update.ssgxmj.com/client/common_mahjong_hunan/update/2928/';
|
||||
function lownloadFiles(url, target) {
|
||||
|
||||
const progress = (size, total) => console.log(`进度:${size}/${total}`);
|
||||
|
||||
download(url, target, progress, (err, filename) => {
|
||||
if (err) console.log(`出错:${err}`);
|
||||
else console.log(`已保存到:${filename}`);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function checkDir(dir, isCloar) {
|
||||
if (jetpack.exists(dir) && isCloar) {
|
||||
console.log('remoe path');
|
||||
jetpack.remove(dir);
|
||||
}
|
||||
console.log('create path');
|
||||
jetpack.dir(dir);
|
||||
|
||||
}
|
||||
|
||||
function parseUrl(url) {
|
||||
let args = url.split("/");
|
||||
let fileName = args.pop();
|
||||
let dir = url.replace("/" + fileName, "");
|
||||
let realPath = path.join(rootDir, dir);
|
||||
return {
|
||||
fileName,
|
||||
realPath,
|
||||
curPaths: args
|
||||
}
|
||||
}
|
||||
|
||||
function getResArr() {
|
||||
let assets = jetpack.read("./project.json");
|
||||
assets = JSON.parse(assets);
|
||||
return assets.newassets;
|
||||
}
|
||||
|
||||
function main() {
|
||||
|
||||
checkDir(rootDir, true);
|
||||
let resArr = getResArr();
|
||||
let paths = [];
|
||||
for (let res in resArr) {
|
||||
console.log('res=', res);
|
||||
paths.push(res);
|
||||
let args = parseUrl(res);
|
||||
}
|
||||
|
||||
Promise.all(paths.map((res) => {
|
||||
download(source + res, rootDir)
|
||||
})).then(() => {
|
||||
console.log('files downloaded!');
|
||||
});
|
||||
}
|
||||
|
||||
main();
|
||||
|
||||
62
CreatorUtils/remoteDowload/dowloadRes.js
Normal file
62
CreatorUtils/remoteDowload/dowloadRes.js
Normal file
@@ -0,0 +1,62 @@
|
||||
const jetpack = require("fs-jetpack");
|
||||
const download = require('download');
|
||||
const path = require('path');
|
||||
|
||||
let rootDir = "dist";
|
||||
|
||||
function checkDir(dir, isCloar) {
|
||||
if (jetpack.exists(dir) && isCloar) {
|
||||
console.log('remoe path');
|
||||
jetpack.remove(dir);
|
||||
}
|
||||
console.log('create path');
|
||||
jetpack.dir(dir);
|
||||
|
||||
}
|
||||
|
||||
function getResArr() {
|
||||
let assets = jetpack.read("./project.json");
|
||||
assets = JSON.parse(assets);
|
||||
return assets.newassets;
|
||||
}
|
||||
|
||||
function parseUrl(url) {
|
||||
let args = url.split("/");
|
||||
let fileName = args.pop();
|
||||
let dir = url.replace("/" + fileName, "");
|
||||
let realPath = path.join(rootDir, dir);
|
||||
let type = fileName.split(".").pop();
|
||||
return {
|
||||
fileName,
|
||||
realPath,
|
||||
curPaths: args,
|
||||
type
|
||||
}
|
||||
}
|
||||
|
||||
const source = 'https://update.ssgxmj.com/client/common_mahjong_hunan/update/2928/';
|
||||
|
||||
|
||||
function main() {
|
||||
|
||||
checkDir(rootDir, true);
|
||||
let resArr = getResArr();
|
||||
let paths = [];
|
||||
for (let res in resArr) {
|
||||
console.log('res=', res);
|
||||
let args = parseUrl(res);
|
||||
if (args.type == "png" || args.type == "jpg") {
|
||||
paths.push(res);
|
||||
}
|
||||
}
|
||||
|
||||
Promise.all(paths.map((res) => {
|
||||
let args = parseUrl(res);
|
||||
download(source + res, args.realPath);
|
||||
})).then(() => {
|
||||
console.log('files downloaded!');
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
main();
|
||||
2039
CreatorUtils/remoteDowload/package-lock.json
generated
Normal file
2039
CreatorUtils/remoteDowload/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
17
CreatorUtils/remoteDowload/package.json
Normal file
17
CreatorUtils/remoteDowload/package.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "httpdowload",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "dowload.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"download": "^7.1.0",
|
||||
"fs-jetpack": "^2.2.2",
|
||||
"lei-download": "^1.0.2",
|
||||
"request": "^2.88.0"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user