基于vue构建lib + 类型声明文件

这篇具有很好参考价值的文章主要介绍了基于vue构建lib + 类型声明文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

构建lib

通过创建一个vue项目,实现自己的组件或工具类。然后创建一个index.ts作为导出的入口文件,接下来就可以通过Vue CLIkais构建自己的lib了。

index.ts

export {Fns} from './utils/fn';

 创建了导出文件后,在package.json配置构建命令:

--name [name]构建的lib名称;--entry [entry]构建的入口文件(可省略--entry直接写入口文件路径);--dest [path]构建文件地址(不指定默认构建到dist目录)。

"scripts": {
    "serve": "vue-cli-service serve",
    "lint": "eslint --ext .ts,.vue packages/",
    "build": "vue-cli-service build --target lib --name index --entry packages/index.ts --dest statics"
  },

 运行npm run build,等构建完毕就可以了引用自己的lib了。

基于vue构建lib + 类型声明文件

在package.json中配置lib的入口文件:"main": "./statisc/index.umd.min.js"。

{
  "name": "@shared/web-frontend-vue",
  "version": "1.0.0",
  "private": false,
  "main": "./statisc/index.umd.min.js",
  "scripts": {
    "serve": "vue-cli-service serve",
    "lint": "eslint --ext .ts,.vue packages/",
    "build": "vue-cli-service build --target lib --name index --entry packages/index.ts --dest statics"
  },
}

构建本地npm包:运行npm pack生成npm包

基于vue构建lib + 类型声明文件

在项目中安装包:复制本地npm包的路径,执行npm i + 复制的路径。

npm i D:\code\Shared\shared-web-frontend-vue-1.0.0.tgz

安装成功后如下图:

基于vue构建lib + 类型声明文件

 接下来就可以在项目中引用了:

import { SharedFns } from '@/Shared\shared-web-frontend-vue';

生成类型声明文件

在上面已经构建了我们自己的npm包了,但是引用我们包里面的导出方法很麻烦,因为import的时候没有提示,方法名称又记不住,还得去其它引用过的地方去复制,这样特别浪费时间。

接下来我们就介绍一个生成类型文件的插件 vue-tsc,首先先装上vue-tsc:

npm i vue-tsc -D

编写构建命令:

"dts": "vue-tsc --declaration --emitDeclarationOnly --declarationDir ./statics/types",

运行npm run dts生成类型文件如下:

基于vue构建lib + 类型声明文件

 在package.json中配置类型声明入口:

"typings": "./statics/types/index.d.ts",

再次运行npm pack 去项目中引用,效果如下:

基于vue构建lib + 类型声明文件

注意:类型声明需要配合Vue Language Features 插件使用。其它Vue相关插件可能导致在.ts文件中可以提示,而在.vue文件中没有类型提示,此时需要禁用一些vue/ts的相关插件

 文章来源地址https://www.toymoban.com/news/detail-412062.html

到了这里,关于基于vue构建lib + 类型声明文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue3通透教程【十二】TS类型声明优势

    专栏介绍: 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章,应粉丝要求开始更新 Vue3 的相关技术文章,Vue 框架目前的地位大家应该都晓得,所谓三大框架使用人数最多,公司选型最多的框架,凉哥之前在文章中也提到过就是 Vue 框架之所以火起来的原因,和 Vue 框架相比其

    2023年04月20日
    浏览(39)
  • 前端TypeScript学习day05-索引签名、映射与类型声明文件

    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)              目录 索引签名类型  映射类型 索引查询(访问)类型 基本使用  同时查询多个索引的类型  TypeScript 类型声明文件  概述 TS 的两种文件类型  类型声明文件的

    2024年02月08日
    浏览(46)
  • vscode报错:找不到模块“vue”或其相应的类型声明。ts(2307)

    https://www.xjx100.cn/news/187714.html?action=onClick vue3 setup + ts + vite 项目问题解决:Cannot find module ... or its corresponding type declarations.(ts2307)_cannot find module \\\'vue-router\\\' or its correspondi_喵喵喵更多的博客-CSDN博客 重点:Ctrl+Shift+P 唤起命令面板,配置 volar 的 typescript版本

    2024年02月21日
    浏览(42)
  • vue3 报错解决:找不到模块或其相应的类型声明。

    解决方法: 在项目根目录或 src 文件夹下找到env.d.ts,并写入以下内容: 同时入口文件main.ts出现爆红错误如下,依照此法也可以解决:

    2024年02月11日
    浏览(34)
  • vue3加ts出现 --找不到模块“@/views/HomeView.vue”或其相应的类型声明。

    今天在尝试用vite+vue3+ts+pinia创建项目,结果刚上来就遇到这么一个问题, 屎壳郎它不咬人,他恶心人呀😒,身为强迫症的我受不了!!! 出现这个问题的原因大概就是:ts只支持导出导入模块,但是vue不是模块,我们需要申明一下vue是个模块,你ts可以导入, 问题解决方法

    2024年02月16日
    浏览(48)
  • vue3.2+ts错误:找不到模块“./App.vue”或其相应的类型声明。ts(2307)

    vue3.2+ts错误:找不到模块“./App.vue”或其相应的类型声明。ts(2307)   解决方法: 在项目根目录创建 env.d.ts 文件(如果已有,则在文件中追加),加入以下内容: 报错原因: 未定义 .vue文件的类型,导致 ts 无法解析其类型,在env.d.ts中定义后即可解决。

    2024年02月11日
    浏览(54)
  • vue3 vite配置@根路径---解决:找不到模块“./xx/xxx.vue”或其相应的类型声明

    如果在ts中使用可能会报错: 解决方案: npm install --save-dev @types/node 配置根路径后,引入文件可能会报红: vue3+ts报错:找不到模块“@/xxx”或其相应的类型声明。 ,或者是引入.vue文件的时候报红: vue3+ts报错:找不到模块“./views/login/index.vue”或其相应的类型声明。 出现这

    2024年02月16日
    浏览(38)
  • TypeScript系列, 通过vue3实例说说declare module语法怎么用[模块声明篇]

    本系列文章是我20年开始写的, 这个模块声明也是本系列的最后一课, 中间因为时间安排间隔了1年, 当时答应大家要补充的, 现在来还债😊. 中间的时间我写了vue3的入门教程, 现在写了一半了吧, 带视频的, 如果有需要的小伙伴可以去看看. https://www.yuque.com/books/share/c0ab3348-87ab-4

    2023年04月22日
    浏览(34)
  • vue3 报错解决:找不到模块或其相应的类型声明。(Vue 3 can not find module)

    当我们在引入应该组件的时候 提示找不到这个组件但是项目明明就有这个物理文件 报错原因:typescript 只能理解 .ts 文件,无法理解 .vue文件 出现这样的 第一种 方法就是在env.d.ts 里面添加下面代码    如图   第二种 这个时候我们应该这样 首先 原因: 1、volar 插件没开take

    2024年03月09日
    浏览(74)
  • Vue3+TS+Vite 找不到模块“@/components/xxx/xxx”或其相应的类型声明。

    今天在写vue3项目时碰到一个问题,引入自定义的词云图组件一直报错,提示找不到模块 文件是存在的,引入路径也是对的。于是直接百度解决方案 有一些解决方案是在tsconfig.json里面做一些配置,这里我就不说了,大家可以自行百度,还有一种是在项目根目录建立一个 env.

    2024年02月11日
    浏览(89)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包