阶段1工程化改造:npm 管理依赖,构建脚本自动压缩与拷贝运行时库
- 新增 package.json/scripts/build.js,npm run build 一键完成压缩与依赖拷贝 - hls.js(1.6.16)/flv.js(1.6.2)/mpegts.js(1.8.0) 由 vendored 改为 npm 依赖 - 删除 Source File/(PSD 与 Flash 遗留 crossdomain.xml) - 新增 AGENTS.md 项目说明与改造路线图
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
# AGENTS.md
|
||||
|
||||
## 项目简介
|
||||
|
||||
MoePlayer —— 一款中文友好的开源网页视频播放器(MIT 协议),fork 自已停止维护的 ckplayer X3。支持 mp4 / flv / m3u8 / ts 等格式,点播、直播、直播回放,PC 与移动端 H5。
|
||||
|
||||
目标定位:中文文档 + 主流浏览器/手机 H5 支持 + 官方 Moodle media 插件(`media_moeplayer`,独立仓库)。
|
||||
|
||||
**注意**:当前处于改造阶段 1(工程化),代码本体仍是 ckplayer,全局变量/API 仍为 `ckplayer`,改名在阶段 2 进行。
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
├── index.html # 演示/测试页(含 API 调用示例)
|
||||
├── package.json # npm 工程化入口,依赖与构建脚本
|
||||
├── scripts/build.js # 构建脚本:压缩核心 + 从 node_modules 拷贝运行时库
|
||||
├── ckplayer/ # 播放器本体,部署时整个上传到网站(阶段2将改名)
|
||||
│ ├── js/ckplayer.js # 核心源码(UMD 模块,~7400 行,ES5)
|
||||
│ ├── js/ckplayer.min.js # 压缩版,【由 npm run build 自动生成,勿手改】
|
||||
│ ├── css/ckplayer.css # 默认皮肤;另有 ckplayer.red.css、ckplayer.ixigua.css
|
||||
│ ├── css/images/ # 皮肤图片资源
|
||||
│ ├── language/ # 语言包:zh.cn.js(默认内嵌)、zh.hk.js、en.js
|
||||
│ ├── hls.js/ # hls.min.js,【由构建从 npm 包拷贝,勿手改】
|
||||
│ ├── flv.js/ # flv.min.js,同上(flv.js 已停维护,阶段4将移除)
|
||||
│ └── mpegts.js/ # mpegts.js,同上
|
||||
└── video/ # 演示用视频与封面
|
||||
```
|
||||
|
||||
## 构建与依赖
|
||||
|
||||
- 安装:`npm install`
|
||||
- 构建:`npm run build` —— 做两件事:
|
||||
1. terser 压缩 `ckplayer/js/ckplayer.js` → `ckplayer.min.js`
|
||||
2. 从 node_modules 拷贝 hls.js / flv.js / mpegts.js 的产物及 LICENSE 到 `ckplayer/` 对应目录
|
||||
- **改动 `ckplayer.js` 后必须执行 `npm run build`** 重新生成 min 版
|
||||
- 升级依赖:改 `package.json` 版本号后 `npm install && npm run build`
|
||||
- 运行时机制:播放器用 `getPath()` 定位自身所在目录,按需动态 `<script>` 加载同级 `hls.js/` 等目录里的文件,库挂全局变量(`Hls`/`flvjs`/`mpegts`)。**这个目录结构约定不能破坏**
|
||||
|
||||
## 测试方式
|
||||
|
||||
没有自动化测试。手动验证:在本目录起静态服务器(`python3 -m http.server`),打开 `index.html`,用页面上的播放/暂停/seek/全屏等按钮回归核心功能。(Playwright 浏览器自动化测试在后续阶段引入)
|
||||
|
||||
## 代码风格
|
||||
|
||||
- 注释与文档使用中文(项目惯例)
|
||||
- 核心源码为单文件 ES5 风格(`var`、函数式),阶段 2/3 重构前保持一致,不要引入 ES6+ 语法
|
||||
- `ckplayer/` 下由构建生成的文件(min.js、hls.js/flv.js/mpegts.js 目录内容)不要手动修改
|
||||
|
||||
## Git 约定
|
||||
|
||||
- 主仓库在私有 Gitea:git.eryang.wang(待迁移,当前 origin 还是上游 gitee)
|
||||
- 未经用户明确要求,不执行 git commit/push 等变更操作
|
||||
|
||||
## 改造路线图
|
||||
|
||||
1. ~~工程化:npm + 构建脚本 + 依赖 npm 化~~(已完成)
|
||||
2. 改名 ckplayer → MoePlayer + 单文件拆分为 ES Module + README 重写
|
||||
3. 核心与 UI 分层、皮肤改用 CSS 变量 + SVG 图标
|
||||
4. 协议插件化(hls/mpegts 按需加载,移除 flv.js)、移动端 H5 兼容专项
|
||||
5. Moodle media 插件(独立仓库 moodle-media_moeplayer)
|
||||
6. 发布:Gitea 主仓库 + 中文文档站
|
||||
Reference in New Issue
Block a user