• 自定义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 删除
     
     
  • 相关阅读:
    gif&png&jpg&webp
    设计点滴&css效果点滴
    backbone点滴
    js自己总结的小东西(打印出来方便学习)
    nodejs点滴
    js类型
    mongo学亮的分享
    npm package.json中的dependencies和devDependencies的区别
    161130、Dubbo+SpringMVC工程创建详解
    161129、详解5种跨域方式及其原理
  • 原文地址:https://www.cnblogs.com/itlyh/p/6041108.html
Copyright © 2020-2023  润新知