从零使用TypeScript开发项目打包发布到npm

作者:石小明 时间:2024-05-02 16:16:28 

前言

typescript作为未来前端开发的主流框架,在前端开发的过程中也会越来越主要,相信这篇文章会对你有很大的帮助!

开发环境搭建

创建ming-npm-package文件夹

我在桌面上创建了一个ming-npm-package的文件夹,然后在编辑器里面打开

初始化项目


npm init

通过npm init 初始化项目来创建用户package.json文件

也可以npm init -y 这个是使用的默认的配置,我个人使用的是npm init

设置配置项


package name: (ming-npm-package)
version: (1.0.0)
description: use ts
//这下边的entry point: 这个是指定的最后使用的文件,而不是编译文件
entry point: (index.js) ./dist/ming-npm-package.js
test command:
git repository:
keywords: typescript
author: xiaoming
license: (ISC) MIT
About to write to C:\Users\明\Desktop\ming-npm-package\package.json:

{
"name": "ming-npm-package",
"version": "1.0.0",
"description": "use ts",
"main": "./dist/ming-npm-package.js",
"scripts": {
 "test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
 "typescript"
],
"author": "xiaoming",
"license": "MIT"
}

Is this OK? (yes)

这就是我设置的配置项,没问题就可以输入yes然后回车了

从零使用TypeScript开发项目打包发布到npm

创建tsconfig.json文件


tsc --init

就会生成一个tsconfig.json文件

修改tsconfig.json默认文件

把这两个注释打开


"declaration": true, //打包之后是否生成声明文件

"outDir": "./dist", //输出文件

添加exclude,忽略dist文件

在打包的时候会排除这里面指定的路径文件


"exclude": [
 "./dist"
]

安装依赖


npm install typescript -D

开始编码

创建ming-npm-package.ts文件

用来编写功能


const arrayMap = (array: [], callback:(item: any,index: number, arr: any[]) => any): any => {
 let i = -1
 const len = array.length
 let resArray = []
 while (++i < len){
   resArray.push(callback(array[i],i,array))
 }
 return resArray
}
export = arrayMap

对代码进行编译


tsc

此时我们的项目就会多了一个dist目录

从零使用TypeScript开发项目打包发布到npm

登录npm

大家没有npm账号的可以注册一个

这个是网址


https://www.npmjs.com

然后在编辑器终端里面输入


npm login

接着就会出来用户名、密码、邮箱这些依次填一下

从零使用TypeScript开发项目打包发布到npm

创建.npmignore文件

在项目根目录里创建一个.npmjgnore

这个其实和.gitignor差不多,就是你发npm包的时候,希望哪些文件或者文件夹不发到这个npm上

这里不用写的node_modules,这是默认忽略的

从零使用TypeScript开发项目打包发布到npm

版本号

在package.json里面版本号,
每发布一次都要修改一下

从零使用TypeScript开发项目打包发布到npm

发布


npm publish

发布成功

从零使用TypeScript开发项目打包发布到npm

安装使用

我们把package.json文件里面的name改成:
ming-npm

从零使用TypeScript开发项目打包发布到npm

目的是 我们要安装的包不能和package.json里面的包名字是一样的

然后再安装一下我们这个包:


npm install ming-npm-package@1.0.1

跟其他的包一样 npm install 包名

安装成功:

从零使用TypeScript开发项目打包发布到npm

再次发布

如果需要再次发布一定要改个版本号,改成之前的名字

然后再tsc对代码进行编译

npm publish 进行发布

源码

这个是我的代码


https://github.com/shifengming/ming-npm-package

来源:https://segmentfault.com/a/1190000021740976

标签:TypeScript,打包,发布,npm
0
投稿

猜你喜欢

  • Vue+ECharts实现中国地图的绘制及各省份自动轮播高亮显示

    2024-04-27 16:12:40
  • MYSQL 一个巧用字符函数做数据筛选的题

    2024-01-26 01:39:05
  • Python实现PIL图像处理库绘制国际象棋棋盘

    2021-06-20 14:18:08
  • Python接口自动化之文件上传/下载接口详解

    2022-01-02 17:32:28
  • 使用element-ui +Vue 解决 table 里包含表单验证的问题

    2024-05-28 16:00:02
  • 解析:内联,左外联,右外联,全连接,交叉连接的区别

    2024-01-22 05:26:46
  • tensorflow实现从.ckpt文件中读取任意变量

    2023-01-04 15:39:40
  • mysql中数据库覆盖导入的几种方式总结

    2024-01-19 22:26:33
  • 拿来就用!Python批量合并PDF的示例代码

    2021-01-02 15:39:23
  • pandas实战:分析三国志人物示例实现

    2023-07-12 21:11:46
  • 在一台服务器上安装两个或多个mysql的实现步骤

    2024-01-27 06:31:32
  • 有关Python的22个编程技巧

    2021-04-05 22:58:05
  • 关于配置babel-plugin-import报错的坑及解决

    2023-07-02 16:39:01
  • PHP多种序列化/反序列化的方法详解

    2024-04-30 08:47:55
  • QQ登录Banner之清明概念

    2009-04-15 11:41:00
  • MySQL 开窗函数

    2024-01-15 11:06:24
  • Python I/O与进程的详细讲解

    2022-11-27 14:07:15
  • MySQL 基于时间点的快速恢复方案

    2024-01-28 17:27:44
  • python 图像判断,清晰度(明暗),彩色与黑白实例

    2023-09-04 12:58:00
  • python的绘图工具matplotlib使用实例

    2023-10-09 13:23:28
  • asp之家 网络编程 m.aspxhome.com