Introduction
Architecture
![](https://lf3-static.bytednsdoc.com/obj/eden-cn/nupenuvpxnuvo/xgplayer_doc/xgplayer3_1.png)
Directory
├── src # source
│ ├── lang # i18n
│ ├── plugin # Plugin tool class, including two plugin basic classes BasePlugin and Plugin, as well as pluginsManager(plugin registration management tool) and hook decorator hooksDescriptor
│ ├── plugins # All built-in plugins
│ ├── presets # All built-in presets
│ ├── style # CSS
│ └── utils # Basic tools,like Util/Sniffer/Logger etc.
│ ├── defaultConfig.js # Default configuration list for player
│ ├── player.js # Player facade object
│ ├── proxy.js # MediaElement Proxy
│ ├── stateClassMap.js # Enumerated list of css class names related to status
│ ├── events.js # Events Enumeration
│ ├── index.js # Es/lib rollup entrance
│ ├── index_umd.js # umd rollup entrance
└── types # d.ts dir
├── dist # umd dir
├── es # esm dir,keeping import,support tree-shaking
├── scripts # rollup js,include css bundle、d.ts etc.