'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'); } }); } }, };