@cat-of-summer/st-script

中文文档
1.6.1发布于 2026/11/06MITES Module零依赖构建来源已验证近 30 天下载 2215

单独的联署材料类/组成部分(Modal、App、Typograf.),作为无害环境管理和IIFE/CDN的建设运输.

中文使用文档
文档目录6 节
  1. 发展
  2. A. 通过npm使用
  3. B. 通过CDN的使用
  4. 释放
  5. 测试
  6. 实例

ST 标注

独立 JavaScript 类 / 组件,作为 ES 模块编写并运入 每个模块有两种花香:

  • 无害环境管理 (单位:千美元)*.esm.min.js)——用于 import (npm捆绑工, <script type="module">) (中文(简体) ). 一个模块 采用另一种方式进口其无害环境管理文件,而不是将其内嵌(app/datepicker → ../mask.esm.min.js, (中文(简体) ), app/form → ../core.esm.min.js),因此,一个同时导入每类捆绑一次和 Mask.find() 看到摘枣者设置的口罩.
  • IIFE / 全球 (单位:千美元)*.min.js)——为平庸的CDN <script defer> (对a global 以模块命名). 自成一体:已导入模块内含.
模块全球/ 要素页:1
modalwindow.Modal摩多尔窗.
typografwindow.TypografНеразрывные:предлоги也.
cookiewindow.CookieCookie帮助者(JSON for no-strings).
corewindow.Core水电费(merge, (中文(简体) ), getRandomChars, (中文(简体) ), uuid, (中文(简体) ), plural, (中文(简体) ), escape, (中文(简体) ), copy, (中文(简体) ), download, (中文(简体) ), fetch) (中文(简体) ).
observerwindow.Observer滚动动画 : [state], (中文(简体) ), --progress交错 交叉.
togglewindow.Toggle状态切换器(accordions, switch-menus).
selectwindow.Select自定义 <select> 倒下(呼声,多声,徘徊).
maskwindow.Mask输入口罩(телефон,дата,карта.
uploaderwindow.Uploader文件上传器.
validatorwindow.Validator实地鉴定([state], (中文(简体) ), setCustomValidity,"钩".
st_button_widgetwindow.st_button_widget正在浮动按钮部件 .
st_links_widgetwindow.st_links_widget链接部件 .
loaderwindow.LoaderAjax 列表加载器(卡: подгрузка/фильтр/сортировка)通过 Core.fetch。 。 。 .
appwindow.App, (中文(简体) ), <st-app>网络组件 - 登记册 <st-app> 装入量.
routewindow.RouteURL 反应; SPA 模式 (history 编号 : hash) (中文(简体) ).
app/formwindow.Form格式应用程序 配置对象 - 登记在 App.create(form)· ; app 未捆绑.
app/datepickerwindow.Datepicker日历应用 配置对象 (装潢) ДД.ММ.ГГГГ 字段,范围, min编号 :max)—— App.create(datepicker); 捆绑 mask没有 app。 。 。 .
shapewindow.Shape来自 Figma 路径的形状( 角保持其大小, 边缘拉伸): SVG 背景 + clip-path,每个断点变体.

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 docs/src/<module>/index.js.md时 docs/src/app/index.js.md: директивы, watch() (单位:千美元) числе watch(() => выражение, cb) для,вычисляемого, nextTick(), 翻译: через :attr说吧 说吧.

发展

npm install      # installs esbuild, builds dist/ via the prepare script
npm run build    # compile src/ → dist/*.min.js (ESM + IIFE)
node scripts/build.mjs --watch   # rebuild on change

来源布局 —— 每个 src/**/index.js 是一个捆绑; 其文件夹路径变为 输出名称 :

src/
  index.js                 # aggregate barrel (source only, not built into dist/)
  modal/index.js           # → dist/modal.esm.min.js + dist/modal.min.js
  app/index.js             # → dist/app.{esm.min,min}.js
  app/form/index.js        # → dist/app/form.{esm.min,min}.js
  …

公约 (单位:千美元)scripts/build.mjs 依赖这些 — 没有脚本编辑可扩展 :

  • 一个带有 index.js 是一个 捆绑; 丢出 src/<name>/index.js 这是 自动输入 dist/<name>.esm.min.js (ESM)和 dist/<name>.min.js (IIFE全局,默认导出曝光为 window.<ClassName>,比如说. window.Modal) (中文(简体) ).
  • 名称起始的文件或文件夹 _ 是共享内容(部分), 通过 import 从不靠自己建设.

dist/ 生成并被 git-ignored 。 这是建立在 npm install (单位:千美元)prepare, (中文(简体) ), 打开 npm publish (单位:千美元)prepack),并在CI中附加释放文物.

每艘装有源图的捆船(*.min.js.map,来源嵌入). 建立无害环境管理 链接它通过 //# sourceMappingURL,所以DevTools自动取出. 二、建 议 不含链接注释:它们往往被压缩成一个全站式捆绑,其中: 相对链接为404——附 .map 在 DevTools 中,调试时用手进行. 尚未查明的无害环境管理来源也作为出版物公布 为: import Modal from '@cat-of-summer/st-script/src/modal/index.js'。 。 。 .

A. 通过npm使用

##########npm,##################################################################################################################################################################################################################################################

npm install @cat-of-summer/st-script

Модули:

import Modal from '@cat-of-summer/st-script/modal';
import Cookie from '@cat-of-summer/st-script/cookie';
import Typograf from '@cat-of-summer/st-script/typograf';

const modal = new Modal({ content: '#promo', overlay: true });

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}这太疯狂了 dist/ нет. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 import { Modal, Cookie, App } from '@cat-of-summer/st-script/src/index.js'。 。 。 .

网络组件 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

import App from '@cat-of-summer/st-script/app';
import formConfig from '@cat-of-summer/st-script/app/form';
App.create(formConfig);   // теперь работает <st-app app="form">

B. 通过CDN的使用

<script defer src="https://cdn.jsdelivr.net/npm/@cat-of-summer/st-script/dist/modal.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/@cat-of-summer/st-script/dist/app.min.js"></script>

释放

Релиз тегом vX.Y.Z{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢

git tag v1.1.0
git push origin v1.1.0

{\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}你觉得呢? Поле version 用户 package.json {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得怎么样? – Актуальная – npm view @cat-of-summer/st-script version。 。 。 . {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 .github/workflows/ci-cd.yml (工作流程) cat-of-summer/git_toolkit) (中文(简体) ).

测试

node tests/core.test.mjs      # и остальные tests/*.test.mjs без DOM
npm run build                 # браузерным тестам и tests/build.test.mjs нужен dist/
node tests/build.test.mjs     # ESM импортирует соседние модули, IIFE самодостаточна
node tests/browser.test.mjs   # App, Modal, Uploader, Core, Cookie, Route — нужен Playwright с Chromium

Браузерные ??????????????

docker run --rm -v "$PWD:/repo" -e PLAYWRIGHT_FROM=/path/to/node_modules/     --entrypoint node <playwright-image> /repo/tests/browser.test.mjs

PLAYWRIGHT_FROM - каталог из которого пакет playwright、 если стоит не в репозитории.

实例

见 examples/ 用于可运行的 HTML 页面. examples/cdn-demo.html 练习 无害环境管理和IIFE/全球 dist/。 。 。 .

版本与发布记录

@cat-of-summer/st-script 共发布 25 个版本,首次发布于 2026/07/01;过去 12 个月发布了 25 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.6.1latest2026/11/063 天前
1.6.02026/10/2416 天前
1.5.02026/10/1921 天前
1.4.22026/10/1921 天前
1.4.12026/10/1921 天前
1.4.02026/10/1921 天前

关于 @cat-of-summer/st-script 的常见问题

@cat-of-summer/st-script 是什么?

单独的联署材料类/组成部分(Modal、App、Typograf.),作为无害环境管理和IIFE/CDN的建设运输.

如何安装 @cat-of-summer/st-script?

在项目目录运行 npm install @cat-of-summer/st-script,或使用 pnpm add / yarn add / bun add。

@cat-of-summer/st-script 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/cat-of-summer__st-script 是否存在。

@cat-of-summer/st-script 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@cat-of-summer/st-script 可以商用吗?

@cat-of-summer/st-script 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@cat-of-summer/st-script 的下载量有多少?

根据 npm 官方下载统计,@cat-of-summer/st-script 在 2026/10/09 – 2026/11/07 这 30 天内被下载 2,215 次,日均约 74 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cat-of-summer/st-script 还在维护吗?

最新版本 1.6.1 发布于 2026/11/06(3 天前);至今共发布 25 个版本,其中过去 12 个月发布了 25 个;首次发布于 2026/07/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。