TypeScript 之 声明文件的发布
https://www.tslang.cn/docs/handbook/declaration-files/publishing.html
发布声明文件到npm,有两种方式:
- 与你的npm包捆绑在一起(推荐)
- 发布到npm上的@types organization。
- 包含声明文件到你的npm包
如果你的包有一个主.js文件,你还是需要在package.json里指定主声明文件。 设置 types属性指向捆绑在一起的声明文件。 比如:
{
"name": "awesome",
"author": "Vandelay Industries",
"version": "1.0.0",
"main": "./lib/main.js",
"types": "./lib/main.d.ts"
}
注意:"typings"与"types"具有相同的意义,也可以使用它。
注意:如果主声明文件名是index.d.ts并且位置在包的根目录里(与index.js并列),你就不需要使用"types"属性指定了。
- 依赖
所有的依赖是由npm管理的。 确保所依赖的声明包都在 package.json的"dependencies"里指明了 比如,假设我们写了一个包它依赖于Browserify和TypeScript。
{
"name": "browserify-typescript-extension",
"author": "Vandelay Industries",
"version": "1.0.0",
"main": "./lib/main.js",
"types": "./lib/main.d.ts",
"dependencies": {
"browserify": "latest",
"@types/browserify": "latest",
"typescript": "next"
}
}
这里,我们的包依赖于browserify和typescript包。 browserify没有把它的声明文件捆绑在它的npm包里,所以我们需要依赖于@types/browserify得到它的声明文件。 typescript,它把声明文件放在了npm包里,因此我们不需要依赖额外的包。
我们的包要从这两个包里获得声明文件,因此browserify-typescript-extension的用户也需要这些依赖。 正因此,我们使用 "dependencies"而不是"devDependencies",否则用户将需要手动安装那些包。 如果我们只是在写一个命令行应用,并且我们的包不会被当做一个库使用的话,那么就可以使用 devDependencies。
不要在声明文件里使用
/// <reference path="..." />,应该使用/// <reference types="..." />代替。打包所依赖的声明
如果你的类型声明依赖于另一个包:
- 不要把依赖的包放进你的包里,保持它们在各自的文件里。
- 不要将声明拷贝到你的包里。
- 应该依赖于npm类型声明包,如果依赖包没包含它自己的声明的话。
TypeScript 之 声明文件的发布的更多相关文章
- TypeScript 的声明文件的使用与编写
https://fenying.net/2016/09/19/typings-for-typescript/ TypeScript 是 JavaScript 的超集,相比 JavaScript,其最关 ...
- TypeScript 之 声明文件的使用
https://www.tslang.cn/docs/handbook/declaration-files/consumption.html 下载 在TypeScript 2.0以上的版本,获取类型声 ...
- TypeScript 之 声明文件的结构
https://www.tslang.cn/docs/handbook/declaration-files/library-structures.html 模块化库 一些库只能工作在模块加载器的环境下 ...
- JS如何捆绑TypeScript声明文件
前话 TypeScript是JavaScript类型的超集 这是TypeScript的文档介绍的一句话,那么他们存在联系呢? 我的理解是,TypeScript在JavaScript基础上引入强类型语言 ...
- TypeScript学习笔记(八) - 声明文件
本篇将介绍TypeScript的声明文件,并简单演示一下如何编写和使用声明文件.本篇也是这个系列的最后一篇. 一.声明文件简介 TypeScript作为JavaScript的超集,在开发过程中不可避免 ...
- TypeScript Writing .d.ts files(编写声明文件)
当使用扩展的JavaScript库或者插件API的时候,将需要使用声明文件(.d.ts)来描述库的类型.本文内容将包括如何编写声明文件相关的一些高级概念,然后用一些例子来展示如何将各式各样的概念与声明 ...
- 如何编写 Typescript 声明文件
使用TypeScript已经有了一段时间,这的确是一个好东西,虽说在使用的过程中也发现了一些bug,不过都是些小问题,所以整体体验还是很不错的. TypeScript之所以叫Type,和它的强类型是分 ...
- TypeScript声明文件
为什么需要声明? 声明的本质是告知编译器一个标识符的类型信息.同时,在使用第三方库时,我们需要引用它的声明文件,才能获得对应的代码补全.接口提示等功能. 声明在TypeScript中至关重要,只有通过 ...
- TypeScript 如何编写类库声明文件 .d.ts
TypeScript 如何编写类库声明文件 .d.ts how to write a d.ts file declaration-files/ https://www.typescriptlang.o ...
随机推荐
- el-container 实践上的布局问题
当自己利用element-ui上面的例子来实现整体布局的时候, 就是自己分开成单独的vue组件时,发现布局是不对的,效果是这样的: 代码是这样的,代码一模一样,只是拆开了各个组件,如下图: 后来发现是 ...
- 爬虫系列2:scrapy项目入门案例分析
本文从一个基础案例入手,较为详细的分析了scrapy项目的建设过程(在官方文档的基础上做了调整).主要内容如下: 0.准备工作 1.scrapy项目结构 2.编写spider 3.编写item.py ...
- JAVA 线程Join
join方法: 当某个线程要等待另一个线程执行结束后才能继续执行时,使用join方法. public class DinnerThread { public static void main(Stri ...
- 2016 多校联赛7 Joint Stacks (优先队列)
A stack is a data structure in which all insertions and deletions of entries are made at one end, ca ...
- python3:logging模块 输出日志到文件
python自动化测试脚本运行后,想要将日志保存到某个特定文件,使用python的logging模块实现 参考代码: import logging def initLogging(logFilenam ...
- 神州数码RIP协议认证
实验要求:掌握RIP协议的简单认证及MD5认证 拓扑如下 简单认证 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface s0/1 进入 ...
- android_rooting_tools 项目介绍(CVE-2012-4220)
android_rooting_tools是GITHUB上的一个Android内核漏洞提权项目,包含多套内核漏洞的exploit代码: EXPLOIT CVE 简单描述 libdiagexploit ...
- oracle死锁测试
测试一个死锁,看看oracle会报什么错误,以及oracle如何处理 1.创建测试表,测试数据 2.第一轮update,delete 两个会话,不同的行 3.第二轮,delete,update两个会话 ...
- tensorboard 可视化
#coding = utf8 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mn ...
- unity ugui Toggle Group详解(Chinar出品、简单易懂)
UGUI Toggle Group用法教程 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar ...