我正在创建一个虚拟滚轴Vue 3 NPM库.

Full source code

问题

似乎我没有正确导出或生成TS类型.我指定了类型路径,比如package.json等,但它仍然没有生成任何TS类型.

当我在另一个项目中导入库时,如下所示:

import {VirtualScroller, VirtualScrollerRow} from 'sigma-scrollkit';
import type {VirtualEntry} from 'sigma-scrollkit';

我得到这个错误:

Cannot find module 'sigma-scrollkit' or its corresponding type declarations

enter image description here

库代码

Package.json

  "files": [
    "dist",
    "types/index.d.ts"
  ],
  "type": "module",
  "types": "./dist/types/index.d.ts",
  "typings": "./dist/types/index.d.ts",

Tsconfig.json

{
  "compilerOptions": {
    "outDir": "dist/types",
    "baseUrl": "./",
    "target": "esnext",
    "useDefineForClassFields": true,
    "module": "esnext",
    "moduleResolution": "node",
    "isolatedModules": true,
    "strict": true,
    "jsx": "preserve",
    "sourceMap": true,
    "resolveJsonModule": true,
    "esModuleInterop": true,
    "lib": ["esnext", "dom", "dom.iterable", "scripthost"],
    "skipLibCheck": true
  },
  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
}

螺丝配置

export default defineConfig({
  build: {
    lib: {
      entry: path.resolve(__dirname, 'src/index.ts'),
      name: 'sigma-scrollkit',
      fileName: 'sigma-scrollkit'
    },
    outDir: 'dist',
    emptyOutDir: true,
    minify: true,
    rollupOptions: {
      external: ['vue'],
      output: {
        // Global vars for UMD build
        globals: {
          vue: 'Vue'
        }
      }
    }
  },
  ...
})

推荐答案

try 在项目根like this处添加index.d.ts.

或指向Types文件夹而不是dist文件夹,like this.

Javascript相关问答推荐

IMDB使用 puppeteer 加载更多按钮(nodejs)

google docs boldText直到按行执行应用脚本错误

在react js中使用react—router—dom中的Link组件,分配的右侧不能被 destruct ''

Chart.js-显示值应该在其中的引用区域

编辑文本无响应.onClick(扩展脚本)

如何将多维数组插入到另一个多维数组中?

JS:XML insertBefore插入元素

覆盖TypeScrip中的Lit-Element子类的属性类型

如何在箭头函数中引入or子句?

让chart.js饼图中的一个切片变厚?

在画布中调整边上反弹框的大小失败

向数组中的对象添加键而不改变原始变量

如何利用CSS中的隐藏元素实现平滑扩展和防止网格行间隙

当标题被点击时,如何使内容出现在另一个div上?

将嵌套数组的元素乘以其深度,输出一个和

如何在脚本编译后直接将RxJ模块导入浏览器(无需Angel、webpack、LiteServer)

为什么当雪碧的S在另一个函数中时,Phaser不能加载它?

将字符串解释为数字;将其重新编码为另一个基数

浮动标签效果移除时,所需的也被移除

Google OAuth 2.0库和跨域开放程序的问题-策略错误