From 16d8c6b9edfcdb871eb31023995fcc04835609fa Mon Sep 17 00:00:00 2001 From: wc24 Date: Fri, 14 Aug 2026 16:19:12 +0800 Subject: [PATCH] =?UTF-8?q?exports:=20./style=20=E5=8A=A0=20types=20?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=EF=BC=8C=E6=B6=88=E6=8E=89=20noUncheckedSide?= =?UTF-8?q?EffectImports=20=E4=B8=8B=E7=9A=84=20TS2307?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + package.json | 7 +++++-- src/style/style.d.ts | 5 +++++ 3 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 src/style/style.d.ts diff --git a/README.md b/README.md index 955a7df..eb9b506 100644 --- a/README.md +++ b/README.md @@ -135,6 +135,7 @@ import { ShrimpTable } from 'shrimp-admin' | `resolveVue: components/layout.vue not found in sources`,整页白屏 | shrimp-admin 被 vite 预打包了 | vite.config `optimizeDeps.exclude: ['shrimp-admin']` | | `Failed to resolve import "xlsx"`,vite 起不来 | 少装 peerDependency `xlsx` | `npm i xlsx`,模板第 1 节 | | 页面出来了但没样式,**图标巨大** | 没引 element-plus 基础样式 | main.ts 加两行 css,模板第 3 节 | +| 编辑器报 `找不到 'shrimp-admin/style' 的副作用导入的模块或类型声明` | 本包低于 v0.8.6:`./style` 导出没有 types 条件,开了 `noUncheckedSideEffectImports` 的项目解不出类型 | 升到 `v0.8.6` | | 能登录、菜单也有,但**所有列表都 404** | 服务端装的是 Express 4 | 服务端升到 `express@^5` | | `does not provide an export named 'default'`(dayjs),整页白屏 | element-plus 从没被预打包过,它的 CJS 依赖被原样送进浏览器 | vite.config `optimizeDeps.include`,模板第 2 节 | | `does not provide an export named 'default'`(其他包) | 依赖被装了两份 | vite.config `resolve.dedupe`,模板第 2 节 | diff --git a/package.json b/package.json index 5c11d24..5b09256 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "shrimp-admin", - "version": "0.8.5", + "version": "0.8.6", "private": true, "description": "Shrimp 框架前端 — 消费 ShrimpServer + ShrimpTable 契约的经典 Vue3 + Element Plus 实现", "main": "src/index.ts", @@ -10,7 +10,10 @@ "types": "./src/index.ts", "default": "./src/index.ts" }, - "./style": "./src/style/style.scss", + "./style": { + "types": "./src/style/style.d.ts", + "default": "./src/style/style.scss" + }, "./package.json": "./package.json" }, "files": [ diff --git a/src/style/style.d.ts b/src/style/style.d.ts new file mode 100644 index 0000000..8bba5a1 --- /dev/null +++ b/src/style/style.d.ts @@ -0,0 +1,5 @@ +// `shrimp-admin/style` 的类型出口。样式表本身没有类型可言,这里要回答的只是 +// 「这个说明符解析得到东西」——消费侧开了 noUncheckedSideEffectImports 时, +// import 'shrimp-admin/style' 落到 .scss 上会报 TS2307,因为 TS 不认识 .scss。 +// package.json 的 exports 里用 types 条件指向本文件,bundler 照旧拿 default 那条 .scss。 +export {}