暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

tsdx: 让使用TypeScript编写npm package变成小菜一碟

背井 2021-03-03
3038

现在用TypeScript的人越来越多,使用TypeScript开发npm package也成了一种常见的需求。因为tsc的配置比较多,与npm结合又需要一些前置准备,如果能有开箱即用的辅助工具(像React生态下的create-react-app),岂不美哉?


有需求就有创新。tsdx即是一个好帮手。


tsdx 官方仓库:https://github.com/jaredpalmer/tsdx。

介绍:Zero-config CLI for TypeScript package development。


下面说说安装和使用




安装

    npm i -g tsdx


    如你习惯了使用 npx,可忽略这一步。


    使用

      # 创建一个新项目,假设我想封装一些微信开放平台的api
      tsdx create weixin


      # 如果你喜欢用 npx
      npx tsdx create weixin


      运行上述命令后,会出现一个交互选项:



      对于普通的package开发,选择第一项并回车继续。当所有准备工作完成后,终端会打印以下信息:




      在自己喜欢的IDE中打开该项目,可以看到有如下文件结构:



      我们最关注的是
      srctest 目录。检查它们下面的文件内容:


      index.ts

        export const sum = (a: number, b: number) => {
        if ('development' === process.env.NODE_ENV) {
        console.log('boop');
        }
        return a + b;
        };


        可以看到,是一个简单的示例性的主文件。


        blah.test.ts

          import { sum } from '../src';


          describe('blah', () => {
          it('works', () => {
          expect(sum(1, 1)).toEqual(2);
          });
          });


          是一个基于 jest 的测试文件。




          有了以上的基础模板,我们按照自己的package开发习惯进行开发即可。


          最后,需要发布项目到 package registry 时,先调整一下 package.json 中的作者、证书等信息,然后执行以下命令:

            npm run build  # 非必须
            npm publish


            有了tsdx,是不是简化了很多TypeScript package开发流程?

            文章转载自背井,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论