vue-devui icon indicating copy to clipboard operation
vue-devui copied to clipboard

feat(devui-cli): 编译生成global.d.ts

Open GaoNeng-wWw opened this issue 3 years ago • 3 comments

#316

GaoNeng-wWw avatar Sep 17 '22 06:09 GaoNeng-wWw

PR preview has been successfully built and deployed to https://vue-devui-pr-1346.surge.sh.

github-actions[bot] avatar Sep 17 '22 07:09 github-actions[bot]

@GaoNeng-wWw 想了解下以下问题:

  • 增加类型文件之后是否有测试下 import 文件时的类型提示编写组件 props 时的类型提示这两种使用场景呢?
  • 构建之后的产物和之前的主要有什么区别呢?
  • 之前组件的产物在 packages/devui-vue/build 目录中,增加 ts 类型文件之后,类型文件存放在哪儿了呢?
  • 是否需要相应地修改 package.json 中的 types 属性配置下类型的入口文件呢?
  • 如果是按需引入组件,类型提示是否生效呢?

kagol avatar Sep 21 '22 09:09 kagol

@GaoNeng-wWw 想了解下以下问题:

  • 增加类型文件之后是否有测试下 import 文件时的类型提示编写组件 props 时的类型提示这两种使用场景呢?
  • 构建之后的产物和之前的主要有什么区别呢?
  • 之前组件的产物在 packages/devui-vue/build 目录中,增加 ts 类型文件之后,类型文件存放在哪儿了呢?
  • 是否需要相应地修改 package.json 中的 types 属性配置下类型的入口文件呢?
  • 如果是按需引入组件,类型提示是否生效呢?

增加类型文件之后是否有测试下 import 文件时的类型提示编写组件 props 时的类型提示这两种使用场景呢?

编写组件 props 时的类型提示是支持的。但是需要在tsconfig.json中的types选项下显式指定global.d.ts,例如vue-devui/global./node_modules/vue-devui/global

import 文件时的类型提示没有看明白,可以在解释一下吗?如果意思为导入组件时是否会有提示,答案是不存在,因为单个组件没有生成声明文件,导入时会报错。例如

<template>
    <Button>Click</Button>
</template>
<script setup lang=ts>
import Button from 'vue-devui/button';
</script>

将会出现如下错误index.umd.js”隐式拥有 "any" 类型。

构建之后的产物和之前的主要有什么区别呢?

有,主要是多了global.d.ts文件

之前组件的产物在 packages/devui-vue/build 目录中,增加 ts 类型文件之后,类型文件存放在哪儿了呢?

global.d.ts与构建产物packages.json同级, 组件产物在typing目录下

是否需要相应地修改 package.json 中的 types 属性配置下类型的入口文件呢?

不需要,global.d.ts主要是为了让volar提供代码提示

如果是按需引入组件,类型提示是否生效呢?

生效,因为volar代码提示似乎与导入方式无关,即便不在app.ts中导入vue-devui。 但部分组件存在props错误,我推测可能是组件在写props时或vite-plugin-dts的问题。这个还有待修正

GaoNeng-wWw avatar Sep 21 '22 10:09 GaoNeng-wWw

PR preview has been successfully built and deployed to https://vue-devui-pr-1346.surge.sh.

github-actions[bot] avatar Sep 24 '22 04:09 github-actions[bot]

PR preview has been successfully built and deployed to https://vue-devui-pr-1346.surge.sh.

github-actions[bot] avatar Sep 24 '22 15:09 github-actions[bot]

Deploy PR preview failed.

github-actions[bot] avatar Sep 25 '22 08:09 github-actions[bot]