zoukankan      html  css  js  c++  java
  • 使用npm创建一个程序库包

    使用npm创建一个程序库包

    程序库包是npm包的另一种形式。

    1、初始化项目

    PS E:prjsweb
    pminittestmathtool> ls
    PS E:prjsweb
    pminittestmathtool> npm init
    This utility will walk you through creating a package.json file.
    It only covers the most common items, and tries to guess sensible defaults.
    PS E:prjsweb
    pminittestmathtool> ls
    

    2、编写程序库主体代码

    module.exports = {
        add: add,
        minus: minus
    }
    
    function add(num1, num2) {
        if (typeof num1 === "number" && typeof num2 === "number") {
            return num1 + num2;
        } else {
            throw("arguments must be number");
        }
    }
    
    function minus(num1, num2) {
        if (typeof num1 === "number" && typeof num2 === "number") {
            return num1 - num2;
        } else {
            throw("arguments must be number");
        }
    }
    

    主体程序编写好之后,要认真测试一下,必须确认主体代码是完全正确的。

    测试就是引入编写的模块,并运行测试用例。

    3、发布程序库包。

    发布编写的包视图通过npm publish命令实现的。当然,在发布之前,要npm adduser去注册一个nodejs网站的账号,npm login去登录上去,这样才可以使用npm publish发布程序库包。

    发布以后,就可以通过npm install mathtool命令来安装它。

    之后,在程序中可以用require('mathtool')可以加载这个包,以便在程序中使用它。

    var math = require('mathtool')
    var addRes = math.add(1,2);
    var minusRes = math.minus(1,2);
    
    console.log(addRes, minusRes); //输出:3,-1
    

    4、一个另外的知识点

    npm run start或者 npm run build, npm run dev等命令都是在执行package.json文件下scripts下的命令名字而已。
    所以,想要增加一个命令,就是scripts字段增加就好了。
    ”npm run start” 或者更早版本“npm start”,nodejs会解析package.json查找scripts属性下的“start”属性对应的命令,等价于执行node app.js。
    通常可以看的很多项目中有“build”,“test", "build-prod"等等应对nodejs项目构建测试的一些scripts,可以自己尝试添加更多scripts字属性验证。

    5、更新程序包

    程序包发布后,如果遇到bug fix和new features,则需要实现之后,重新发布。
    重新发布的时候,需要注意的一点是版本号的更新。

    假如,当前版本号是1.0.0,更新版本号的命令有如下三个:
    npm version patch-->1.0.1: 属于小修改,不更改功能使用
    npm version minor-->1.1.0: 可能添加了一些功能,不影响以前的使用。
    npm version major-->2.0.0: 可能改了API,输入大范围的修改。

    关于版本号,package.json文件中,有三种写法:
    直接写准确的版本号:比如:1.0.0
    大版本不动,有功能更新则用新版本:^1.0.0
    更保守一点,只能小幅更新如bug修复等:~1.0.0
    ^1.0.0意为>=1.0.0 < 1.2.0,就是说版本号的第一位即主版本号不变,第二位次版本号、第三位patch号有更新的时候,都自动更新
    ~1.0.0意为>=1.0.0 < 1.1.0,就是说版本号中第一位主版本号不变、第二位次版本号不改,第三位patch号改了,则就自动更新

    在更新程序包之后,在使用程序的代码处,要重新安装新的程序包。

    在安装之前,先用npm outdated命令去检查目前项目中的包是否有更新版本:

    npm outdated检查每个定义在项目package.json中包在远程仓库是否有新版本
    

    查看清楚后,如果有的包有更新的版本,则可以使用如下命令去安装最新的版本:

    npm update pkgName 可以更新这个程序库包
    



    参考资料:
    1、https://www.yisu.com/zixun/169701.html




  • 相关阅读:
    查看端口有没有被占用
    微信公众号2()
    How to insert a segment of noise to music file
    puppet practice
    Docker Commands
    LempelZiv algorithm realization
    The algorithm of entropy realization
    Java network programmingguessing game
    Deploy Openstack with RDO and Change VNC console to Spice
    puppet overview
  • 原文地址:https://www.cnblogs.com/zhangzl419/p/15218756.html
Copyright © 2011-2022 走看看