1 Star 4 Fork 1

dony / 学习笔记

Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
把TypeScript代码发布到NPM中.md 2.04 KB
Copy Edit Web IDE Raw Blame History

把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用户使用的格式。

Comment ( 0 )

Sign in to post a comment

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

Search