exports: ./style 加 types 条件,消掉 noUncheckedSideEffectImports 下的 TS2307

This commit is contained in:
2026-08-14 16:19:12 +08:00
parent b22f3713c3
commit 16d8c6b9ed
3 changed files with 11 additions and 2 deletions
+1
View File
@@ -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 节 |
+5 -2
View File
@@ -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": [
+5
View File
@@ -0,0 +1,5 @@
// `shrimp-admin/style` 的类型出口。样式表本身没有类型可言,这里要回答的只是
// 「这个说明符解析得到东西」——消费侧开了 noUncheckedSideEffectImports 时,
// import 'shrimp-admin/style' 落到 .scss 上会报 TS2307,因为 TS 不认识 .scss。
// package.json 的 exports 里用 types 条件指向本文件,bundler 照旧拿 default 那条 .scss。
export {}