74 lines
2.7 KiB
JavaScript
74 lines
2.7 KiB
JavaScript
'use strict';
|
|
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
module.exports = {
|
|
load() {
|
|
// 当 package 被正确加载的时候执行
|
|
},
|
|
|
|
unload() {
|
|
// 当 package 被正确卸载的时候执行
|
|
},
|
|
|
|
messages: {
|
|
'import-demo'() {
|
|
/**
|
|
* 复制文件夹到目标文件夹
|
|
* @param {string} src 源目录
|
|
* @param {string} dest 目标目录
|
|
* @param {function} callback 回调
|
|
*/
|
|
const copyDir = (src, dest, callback) => {
|
|
const copy = (copySrc, copyDest) => {
|
|
fs.readdir(copySrc, (err, list) => {
|
|
if (err) {
|
|
callback(err);
|
|
return;
|
|
}
|
|
list.forEach((item) => {
|
|
const ss = path.resolve(copySrc, item);
|
|
fs.stat(ss, (err, stat) => {
|
|
if (err) {
|
|
callback(err);
|
|
} else {
|
|
const curSrc = path.resolve(copySrc, item);
|
|
const curDest = path.resolve(copyDest, item);
|
|
|
|
if (stat.isFile()) {
|
|
// 文件,直接复制
|
|
fs.copyFile(curSrc, curDest, (err) => {
|
|
callback(err);
|
|
});
|
|
} else if (stat.isDirectory()) {
|
|
// 目录,进行递归
|
|
fs.mkdirSync(curDest, { recursive: true });
|
|
copy(curSrc, curDest);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
};
|
|
|
|
fs.access(dest, (err) => {
|
|
if (err) {
|
|
// 若目标目录不存在,则创建
|
|
fs.mkdirSync(dest, { recursive: true });
|
|
}
|
|
copy(src, dest);
|
|
});
|
|
};
|
|
|
|
let projectDir = Editor.Project.path;
|
|
copyDir(path.resolve(__dirname, "demo"), path.resolve(projectDir, "assets", "TmoDemo"), (err) => {
|
|
if (err) {
|
|
Editor.log("复制出错");
|
|
Editor.log(err);
|
|
} else {
|
|
Editor.assetdb.refresh('db://assets//TmoDemo');
|
|
}
|
|
});
|
|
}
|
|
},
|
|
}; |