Files
moeplayer/scripts/copy-libs.js
T
王阳 159603341e 阶段2:拆分为 ES Module + Rollup 构建,重写 README
- src/ 下拆分为入口/语言包/默认配置/主函数/工具模块,主函数整体搬入零改动
- rollup 打包 UMD(moeplayer.js + moeplayer.min.js),用户使用方式不变
- 库拷贝逻辑移至 scripts/copy-libs.js
- README 重写:中文文档、快速开始、路线图、致谢原作者
- index.html 增加皮肤切换演示(默认/红色/西瓜)
2026-07-21 11:16:25 +08:00

46 lines
1.7 KiB
JavaScript

/*
* 构建脚本(第二步)
* 功能:从 node_modules 拷贝运行时依赖(hls.js/flv.js/mpegts.js)到 moeplayer/ 对应目录
* 播放器运行时会按需动态加载这些文件,目录结构需与 getPath() 的约定保持一致
* 第一步(rollup 打包压缩)见 rollup.config.js
* 用法:npm run build(即 rollup -c && node scripts/copy-libs.js)
*/
const fs = require('fs');
const path = require('path');
const root = path.resolve(__dirname, '..');
// 运行时依赖拷贝清单:[npm包名, 产物目录, 需要拷贝的文件]
const libs = [
['hls.js', 'hls.js', ['hls.min.js', 'hls.min.js.map', 'LICENSE']],
['flv.js', 'flv.js', ['flv.min.js', 'flv.min.js.map', 'LICENSE']],
['mpegts.js', 'mpegts.js', ['mpegts.js', 'mpegts.js.map', 'LICENSE']]
];
function copyLibs() {
for (const [pkg, dir, files] of libs) {
const pkgRoot = path.dirname(require.resolve(pkg + '/package.json'));
const targetDir = path.join(root, 'moeplayer', dir);
// 清空旧的 vendored 文件,只保留构建拷贝的产物
fs.rmSync(targetDir, { recursive: true, force: true });
fs.mkdirSync(targetDir, { recursive: true });
for (const file of files) {
const from = path.join(pkgRoot, 'dist', file);
// LICENSE 在包根目录而非 dist 目录
const fromAlt = path.join(pkgRoot, file);
const src = fs.existsSync(from) ? from : fromAlt;
fs.copyFileSync(src, path.join(targetDir, file));
}
const version = require(pkg + '/package.json').version;
console.log('拷贝完成: moeplayer/' + dir + '/ (' + pkg + '@' + version + ')');
}
}
try {
copyLibs();
console.log('依赖拷贝完成');
} catch (err) {
console.error('拷贝失败:', err);
process.exit(1);
}