自定义NPM工具包(2)

添加常用工具包方法 项目地址

1、修改package.json的配置

"main": "src/index.ts",

2、添加常用方法

以数学方法为例,在src下新建utils/math.ts文件,代码如下

/**
 * 常用数学方法
 *
 * @export
 * @interface IUtilsMath
 */
export interface IUtilsMath {
    add(numList: number[]): number;
}

export class UtilsMath implements IUtilsMath {
    /**
     * 加法,传入需要相加的数组成的数组
     * 此方法主要用于解决小数相加精度的问题
     * @export
     * @param {number[]} numList
     * @returns {number}
     */
    add(numList: number[]): number {
        if (numList.length === 1) {
            return numList[0];
        }
        let maxDecimalsLen = 0;
        for (const tempNum of numList) {
            const decimalsLen = tempNum.toString().split('.')[1].length;
            maxDecimalsLen = Math.max(maxDecimalsLen, decimalsLen);
        }
        const tempPow = Math.pow(10, maxDecimalsLen);
        let tempSum = 0;
        for (const tempNum of numList) {
            tempSum = tempSum + tempNum * tempPow;
        }
        return Number((tempSum / tempPow).toFixed(maxDecimalsLen));
    }
}

3、使用Karma+Jasmine进行单元测试

这里的测试框架为Mocha,Chai(断言库),Sinon(数据模拟框架)
安装Karma:npm install karma --save-dev
安装其他依赖:npm install jasmine-core karma-jasmine karma-chrome-launcher karma-jasmine-html-reporter karma-coverage-istanbul-reporter jasmine-spec-reporter --save-dev

4、在GitHub新建仓库并推送

此处不懂的同学请自行搜索,教程很多

你可能感兴趣的:(自定义NPM工具包(2))