From a5faec5abf06ddb223c894120c72f3a69b213ba3 Mon Sep 17 00:00:00 2001 From: commilitia Date: Tue, 26 May 2026 17:25:34 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=A3=9C=20ESM=20`export=20{=20createC?= =?UTF-8?q?jkAutospace=20}`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 下游 Vite / Rollup / TypeScript 靜態 ESM 解析需要真正之 `export` 關鍵字;原 UMD-ish(module.exports + globalThis)對 ESM 消費端 仍須走副作用導入 + globalThis 取值之 workaround。 於檔尾既有 CJS / globalThis 兩塊後再加 `export { createCjkAutospace }; 順序刻意如此,讓串接端(IIFE 函式體內不能有 module-level export) 只需以 `sed '/^export {/d'` 剝最後一行即安全。 four-form export 同時支援:ESM named import / CommonJS require / globalThis / IIFE 串接(後者需剝 export 行)。README 同步補上。 --- README.md | 16 +++++++++++----- cjk-autospace.js | 18 +++++++++++++++++- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 366afde..9a3abd3 100644 --- a/README.md +++ b/README.md @@ -64,12 +64,18 @@ autospace.apply(document.body); ## 模組形式 -UMD-ish: +四種消費場景並存: -- **ES module / TypeScript**:直接 `import { createCjkAutospace } from "./cjk-autospace.js"`(搭配 `cjk-autospace.d.ts`) -- **CommonJS / Node**:`module.exports.createCjkAutospace` -- **Browser global**:`globalThis.createCjkAutospace` -- **Inline `