自定义NPM工具包(2)

作者: 没有注定的结局 | 来源:发表于2019-03-21 21:11 被阅读0次

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

    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)

        本文链接:https://www.haomeiwen.com/subject/xdthvqtx.html