# @cat-of-summer/st-script 中文文档

规范地址：https://npmcn.com/package/%40cat-of-summer/st-script/

版本：1\.6\.1
npm 元数据更新时间：2026-11-06T14:47:15.446Z
中文译文更新时间：2026-11-09T16:21:00.226Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40cat-of-summer/st-script
原文对照：https://npmcn.com/package/%40cat-of-summer/st-script/?lang=original
项目主页：https://github.com/cat-of-summer/ST-script---framework#readme
源码仓库：https://github.com/cat-of-summer/ST-script---framework

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：2.7 MB，154 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2026-07-01T09:49:51.840Z
- 最新版本发布：2026-11-06T14:47:15.140Z
- 近 30 天下载量：2215（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：25（近 12 个月 25 个）

## 中文简介

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

## 安装

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

也可以使用：`pnpm add @cat-of-summer/st-script`、`yarn add @cat-of-summer/st-script`、`bun add @cat-of-summer/st-script`

## README

# 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 |
| --- | --- | --- |
| `modal` | `window.Modal` | 摩多尔窗. |
| `typograf` | `window.Typograf` | Неразрывные:предлоги也. |
| `cookie` | `window.Cookie` | Cookie帮助者(JSON for no-strings). |
| `core` | `window.Core` | 水电费(`merge`, (中文(简体) ), `getRandomChars`, (中文(简体) ), `uuid`, (中文(简体) ), `plural`, (中文(简体) ), `escape`, (中文(简体) ), `copy`, (中文(简体) ), `download`, (中文(简体) ), `fetch`) (中文(简体) ). |
| `observer` | `window.Observer` | 滚动动画 : `[state]`, (中文(简体) ), `--progress`交错 交叉. |
| `toggle` | `window.Toggle` | 状态切换器(accordions, switch-menus). |
| `select` | `window.Select` | 自定义 `<select>` 倒下(呼声,多声,徘徊). |
| `mask` | `window.Mask` | 输入口罩(телефон,дата,карта. |
| `uploader` | `window.Uploader` | 文件上传器. |
| `validator` | `window.Validator` | 实地鉴定(`[state]`, (中文(简体) ), `setCustomValidity`,"钩". |
| `st_button_widget` | `window.st_button_widget` | 正在浮动按钮部件 . |
| `st_links_widget` | `window.st_links_widget` | 链接部件 . |
| `loader` | `window.Loader` | Ajax 列表加载器(卡: подгрузка/фильтр/сортировка)通过 `Core.fetch`。 。 。 . |
| `app` | `window.App`, (中文(简体) ), `<st-app>` | **网络组件** - 登记册 `<st-app>` 装入量. |
| `route` | `window.Route` | URL 反应; SPA 模式 (`history` 编号 : `hash`) (中文(简体) ). |
| `app/form` | `window.Form` | 格式应用程序 **配置对象** - 登记在 `App.create(form)`· ; `app` 未捆绑. |
| `app/datepicker` | `window.Datepicker` | 日历应用 **配置对象** (装潢) `ДД.ММ.ГГГГ` 字段,范围, `min`编号 :`max`)—— `App.create(datepicker)`; 捆绑 `mask`没有 `app`。 。 。 . |
| `shape` | `window.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`](https://npmcn.com/package/%40cat-of-summer/st-script/docs/src/app/index.js.md): директивы, `watch()` (单位:千美元) числе `watch(() => выражение, cb)` для,вычисляемого, `nextTick()`, 翻译: через `:attr`说吧 说吧.

## 发展

```bash
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,##################################################################################################################################################################################################################################################

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

Модули:

```js
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'`。 。 。 .

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

```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的使用

```html
<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}你觉得呢

```bash
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`) (中文(简体) ).

## 测试

```bash
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
```

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

```bash
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 是什么？

单独的联署材料类/组成部分\(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 和提交记录判断。

