zoukankan      html  css  js  c++  java
  • TypeScript 之 声明文件的发布

    1. 与你的npm包捆绑在一起(推荐)
    2. 发布到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="..." />代替。

    • 打包所依赖的声明
      如果你的类型声明依赖于另一个包:

    1. 不要把依赖的包放进你的包里,保持它们在各自的文件里。
    2. 不要将声明拷贝到你的包里。
    3. 应该依赖于npm类型声明包,如果依赖包没包含它自己的声明的话。
  • 相关阅读:
    在VMWare虚拟机下的ubuntu中Samba服务的安装
    Shell表达式,如${file##*/}
    如何从官网下载QT
    SATA命令之security
    Clip
    JS判断是否在微信浏览器打开
    微信小程序请求数据报错: 如若已在管理后台更新域名配置,请刷新项目配置后重新编译项目,操作路径:“详情-域名信息”
    typeof()和instanceof的用法区别
    javascrip 对数组的操作方法
    微信小程序 修改数据,并动态渲染页面;修改数组;
  • 原文地址:https://www.cnblogs.com/cag2050/p/9560272.html
Copyright © 2011-2022 走看看