30行代码造了一个1494start项目的轮子

闪电
闪电
闪电
57
文章
0
评论
2020年4月26日20:11:25 评论 65

1494个start的项目:minimist

30行代码轮子:argps

项目功能:

  1. 解析命令行启动用户所输入的参数,转成Object。
  2. 需要支持多个命令、重复参数合并到数组、监测无名字参数合并到_中。

Prower by Regex

#index.js
module.exports = function ( args ) {
    var result = {
        '_':[]
    };

    var value = args.join( ' ' );

    var reStr = /(-[^\s-](?:-\S+)?|--\S+)\s*([^\s-]*)?/g;

    var match;

    while( ( match = reStr.exec( value ) ) ) {
        var key = match[1].replace( /-/g,'' );
        match[2] = typeof match[2] === 'undefined' ? 'true' : match[2];
        if( key in result ) {
            if( result[key] instanceof Array ) {
                result[key].push( match[2] );
            }else{
                result[key] = new Array( result[key] , match[2] );
            }
        }else{
            result[key] = match[2];
        }
    }
    var _value = value.replace( /-[^-\s]{2,}|--?\S+\s*[^-\s]*/g,'' )
    .replace( /\s*^\s*|\s+$/g,'' )
    .split( /\s+/ );

    result._ = result._.concat( _value );
    return result;
};

本项目地址:argps

weinxin
我的微信
微信扫一扫
闪电
  • 本文由 发表于 2020年4月26日20:11:25
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
一键部署项目和代码自动更新 Nodejs

一键部署项目和代码自动更新

my-deploy : 由nodejs写的一个自动更新工具,理论支持所有语言(php、java、c#)的项目,支持所有git仓库(bitbucket、github等)。 github 效果如何? 如果...
Node.js自动代码审核 Nodejs

Node.js自动代码审核

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. 简介 在团队开发中,无论是写前端(js,css,htm...
利用Mongodb做地理空间查询 数据库

利用Mongodb做地理空间查询

MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 前言 在移动开发中,经常会用到定位的功能,例如美团、饿了么、猫眼电影等的app...
分享一个通用正则库 正则表达式

分享一个通用正则库

regex-util github 地址: 传送门 正则表达式可以用于匹配和替换,该项目搜集开发者日常开发任务需要用到的一些匹配、验证的需求。 该项目会不断收集,不断优化,欢迎issues! 安装 $...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: