2 Star 11 Fork 8

dony / 学习笔记

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
把TypeScript代码发布到NPM中.md 2.04 KB
一键复制 编辑 原始数据 按行查看 历史

把TypeScript代码发布到NPM中

编译TypeScript代码供其他TypeScript和JavaScript项目使用其实很简单

如果是编译成供他人使用的JavaScript,有几点需要注意的:

  • 生成源码映射,以便调试自己的代码。
  • 编译成ES5,让其他人能轻易构建并运行你的代码。
  • 审慎选择编译为哪种模块格式(UMD、CommonJS、ES2015等)。
  • 生成类型声明,让其他TypeScript用户知晓你的代码中有哪些类型。

首先,使用tsc把TypeScript编译成JavaScript,并且生成相应的类型声明。切记要配置tsconfig.json,最大程度上兼容各种流行的JavaScript环境和构建系统:

{
  "compilerOptions": {
    "declaration": true,
    "module": "umd",
    "sourceMaps": true,
    "target": "es5"
  }
}

接下来,在.npmignore中列出不想发布到NPM中的Typescript源码,尽量减少包的体积;在.gitignore中列出生成的构建产物,不纳入Git仓库:

# .npmignore
*.ts #忽略 .ts 文件
!*.d.ts # 保留 .d.ts 文件

# .gitignore
*.d.ts #忽略 .d.ts 文件
*.js #忽略 .js文件

把源码放在src/文件夹中,把生成的文件放在dist/文件夹中,那么两个.ignore文件的内容如下:

# .npmignore
src/ #忽略源文件

# .gitignore
dist/# 忽略生成的文件

最后,在项目的package.json文件中添加"types"字段,指明该项目自带类型声明(注意,这一步不是必须的,不过加上“types”字段后使用TypeScript的用户将从中受益)。在添加一个脚本,在发布前构建包,确保包中的JavaScript,类型声明和源码映射与编译源TypeScript是同步的。

{
  "name": "my-awesome-typescript-project",
  "version": "1.0.0",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "scripts": {
    "prepublishOnly": "tsc -d"
  }
}

整个过程结束!现在,执行npm publish命令把包裹推送到NPM中之后,NPM将自动把TypeScript编译成即可被TypeScript用户使用,也可由JavaScript用户使用的格式。

1
https://gitee.com/dony1122/note.git
git@gitee.com:dony1122/note.git
dony1122
note
学习笔记
master

搜索帮助