zoukankan      html  css  js  c++  java
  • 自定义npm命令行工具,并发布到www.npmjs.com

    1.自定义一个npm脚本
    - 1.新建一个项目(在任何路径都可以);
    - 2.使用`npm init -y`初始化项目
    - 3.新建一个index.js文件,在文件的第一行添加 `#!/usr/bin/env node`
    - 4.在package文件中添加一个bin字段,bin字段是一个键值对,键名是生成的.cmd文件的名字,值是执行这个命名所要执行的脚本.
    `"bin":{"lcopy":"./index.js"}`
    - 5.打开终端进入当前目录的根路径,执行`npm link`node会自动去全局路径创建cmd文
     - 6.定义一个文件拷贝的copy方法
    ```
    //copy.js文件,暴露一个copy方法
    const fs = require('fs');
    module.exports=function (src,dist,callback){
    fs.readFile(src,(err,data)=>{
    if(err){
    return callback(err);
    }
    fs.writeFile(dist,data,err=>{
    return callback(err);
    })
    callback(null);
    })

    };
    ```
    - 7.在index.js中加载copy.js方法
    ```
     
    #!/usr/bin/env node

    const copy = require('./copy');

    const argvs = process.argv().slice(2);

    copy(argvs[0],argvs[1],err=>{
    if(err){
    console.log("复制文件失败了");
    }else{
    console.log("复制文件成功");
    }
    });
    console.log("copy()复制被执行了");
     
    ```
     
    - 8.测试
     - 9.将自定义命令发布到npm上
        + 首先验证一下package.json中的name是否被占用
        + 去npm.js.com或者通过npm adduser注册一个账户
    npm login 登陆
    > 注意要使用官方的镜像源,我这里使用了淘宝的镜像源,切换回官方镜像源.
     
     
     
    - 10npm publish 发布
     
     

    - 11 npm version patch 更新
     

     -  12重新发布
     查看更新
    - 13 下载安装
     
    - 14npm unpublish 删除
     
     
  • 相关阅读:
    Paxos算法理解
    JavaScript笔记
    JVM基础知识(二)
    JVM基础知识(一)
    书单
    centos6.3环境下升级python及MySQLdb的安装
    winform中button的image属性无法更改
    未能找到任何适合于指定的区域性或非特定区域性的资源
    Spring注解开发第十二讲--@Profile注解讲解
    Spring注解驱动第十一讲--引用Spring底层组件
  • 原文地址:https://www.cnblogs.com/itlyh/p/6041108.html
Copyright © 2011-2022 走看看