记录自己第一个npm 包的发布

版权声明:杨念 https://blog.csdn.net/qq_34178990/article/details/82215993

前言

之前一直对发布一个包很感兴趣, 但是不知道发些什么内容, 最近工作的内容需要用到正则表达式. 对于正则, 会写的人, 想写啥写啥, 不会的人就只能各种搜索.于是我就简单的写了几个常用的正则表达式, 作为一个模块, 发布到了npm上, 内容简单, 也算是给自己练练手.

过程

这里只简单写了一些过程, 如下:

  1. 编写一个模块
  2. 注册一个npm帐号
  3. 通过年npm adduser 添加npm帐号, 用于发布使用
  4. 通过npm publish发布自己编写的模块

遇到的问题

当使用npm publish的时候, 提示:

no_perms Private mode enable, only admin can publish this module

通过在自己查阅搜索, 得知是npm源的问题, 安装一个nrm来管理自己的npm源:

  1. 安装nrm

    npm install -g nrm //可能需要sudo权限
    
  2. nrm简单命令

    1. nrm -V //查看版本
    2. nrm -list  //查看自己安装了那些源
    3. nrm use //使用某个源
    

通过上面的步骤, 就完成了一个模块的发布.

其他

模块的内容很简单单, 以后遇到了关于正则的东西,我会慢慢往这个模块上添加, 当然如果看官需要什么正则表达式, 也可以评论.

模块名: base-reg

模块的简单内容,:

var regular = {
  notNull: function() {
    return /[*]+/;//非空
  },

  number: function(minLen, maxLen) {
    if(!minLen) return new RegExp('^[\d]*');
    if(maxLen){
      return new RegExp('^[\d]{minLen, maxLen}$');
    }else {
      return new RegExp('^[\d]{minLen, }$');
    }
  },

  email: function(){
    return /^[\w\_\.\-]+@[\w\.\_\-]+(?:\.[\w]+)$/
  },

  string: function(minLen, maxLen, isI){//一定范围类
    if(isI) {
      if(!minLen) return new RegExp('^[a-zA-Z]*', 'i');
      if(maxLen) {
        return new RegExp('^[a-zA-Z]{minLen, maxLen}$', 'i');
      }else {
        return new RegExp('^[a-zA-Z]{minLen, }$', 'i');
      }
    }else{
      if(!minLen) return new RegExp('^[a-zA-Z]*');
      if(maxLen) {
        return new RegExp('^[a-zA-Z]{minLen, maxLen}$');
      }else {
        return new RegExp('^[a-zA-Z]{minLen, }$');
      }
    }
  },

  stringNumber: function(minLen, maxLen) {//匹配一个含有字母数字混合的字符串
    if(!minLen) return new RegExp('^[\w]*');
    if(maxLen){
      return new RegExp('^[\w]{minLen, maxLen}$');
    }else {
      return new RegExp('^[\w]{minLen, }$');
    }
  },

  word: function(isG, isI){//匹配一个单词
    if (isI){
      if(isG) {
        return /\b[a-z]+\b/ig;
      }else {
        return /\b[a-z]+\b/i;
      }
    }else{
      if(isG) {
        return /\b[a-zA-Z]+\b/g;
      }else {
        return /\b[a-zA-Z]+\b/;
      }
    }
  },
}

export default regular;

最后

小弟不才, 如有错误, 多谢指正.

猜你喜欢

转载自blog.csdn.net/qq_34178990/article/details/82215993