使用打字稿的 vue.js 项目中可用的进度条

Progressbar available in vue.js project using typescript

我在使用打字稿开发 vue.js 项目时遇到问题。

我想像下面的demo一样使用进度条,但是不能用,因为这个库不支持typescript

http://hilongjw.github.io/vue-progressbar/index.html

有人可以告诉我使用哪个库吗?

谢谢。

TypeScript 逐渐被采用。这意味着你可以慢慢地将一个 JS 项目转换为 TS,你不必一次全部完成。

此外,TS 是 JavaScript 的超集。这意味着,在引擎盖下,它仍然是 JavaScript,您可以在其中使用 JavaScript 模块。

当您找到一个 JS 模块并想在 TS 项目中使用它时,您可以执行以下操作:

  • 检查是否有人发布了@types/your-module包,声明了模块的所有类型(其中your-module需要是JS包的实际包名)。如果存在,请将其安装在 devDependencies 中,TS 会选择它

  • 如果第一个选项不可用,请在 src 文件夹中创建一个 types.d.ts 并在其中插入一行声明该模块。例如:

    declare module 'your-module';

这将告诉 TS:抱歉,没有可用于此包的类型定义,但我仍然想使用它。所以TS不会抛出任何与包相关的错误。
最有趣的部分是,大多数 IDE 实际上会绕过这一点,并会从包的导出中推断类型,在大多数情况下,这会为您提供自动完成建议。
最近,IDE 在 auto-inferring 类型方面做得更好。


旁注:对于您的特定情况,您可以使用 this definition 扩展“自定义”类型定义。不是官方的,可能不完整,但比基本的 declare module "vue-progressbar" 更好(顺便说一句,这会起作用)。
另请注意:您只需要在 Vue2 中声明 module "vue/types/vue",如果您使用的是 Vue3,则不需要。