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




  • 相关阅读:
    jeecms 强大的采集功能优化 转载 https://blog.csdn.net/jeff06143132/article/details/7099003
    JEECMS自定义标签开发步骤
    jeecms之全文检索
    jeecms怎么修改后台访问路径?
    jeecms 基本架构研究
    Java JNI初探
    《高效程序员的45个习惯》
    Java并发编程:Thread类的使用
    Thread详解
    JAVA多线程实现的四种方式
  • 原文地址:https://www.cnblogs.com/zhangzl419/p/15218756.html
Copyright © 2011-2022 走看看