From 50320bad5d21640e6c7c8a681f3f74dfbb0e6fa6 Mon Sep 17 00:00:00 2001 From: Harvey Zack Date: Sun, 17 Aug 2025 18:25:52 +0800 Subject: [PATCH] feat: add module and exports fields in package.json; improve style handling in index.js --- scripts/plugin/template/package.json | 7 +++++++ scripts/plugin/template/src/index.js | 21 +++++++++++++-------- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/scripts/plugin/template/package.json b/scripts/plugin/template/package.json index 5baca1781..3bb50afe8 100644 --- a/scripts/plugin/template/package.json +++ b/scripts/plugin/template/package.json @@ -17,7 +17,14 @@ "video", "player" ], + "exports": { + ".": { + "import": "./dist/artplayer-plugin-{{name}}.mjs", + "require": "./dist/artplayer-plugin-{{name}}.js" + } + }, "main": "dist/artplayer-plugin-{{name}}.js", + "module": "./dist/artplayer-plugin-{{name}}.mjs", "types": "types/artplayer-plugin-{{name}}.d.ts", "legacy": "dist/artplayer-plugin-{{name}}.legacy.js", "browserslist": "last 1 Chrome version" diff --git a/scripts/plugin/template/src/index.js b/scripts/plugin/template/src/index.js index 16088b24b..d3933ae81 100644 --- a/scripts/plugin/template/src/index.js +++ b/scripts/plugin/template/src/index.js @@ -10,15 +10,20 @@ export default function {{export}}(option) { if (typeof document !== 'undefined') { const id = 'artplayer-plugin-{{name}}'; - const $style = document.getElementById(id); - if ($style) { - $style.textContent = style; - } else { - const $style = document.createElement('style'); - $style.id = id; - $style.textContent = style; - document.head.appendChild($style); + let $style = document.getElementById(id) + if (!$style) { + $style = document.createElement('style') + $style.id = id + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', () => { + document.head.appendChild($style) + }) + } + else { + (document.head || document.documentElement).appendChild($style) + } } + $style.textContent = style } if (typeof window !== 'undefined') {