Node.js npm包从创建到发布

一、npm项目初始化

            在本地磁盘上创建一个空项目,文件夹取名为myNpm。注意请先去npm官网确认一下这个项目名字是否已经被占用。(如果名字被占用了,是无法向上传npm的)

检查方式

npm view 包名

#这个命令用来查看某个包的信息
#如果返回404,说明这个项目名在npm官网上找不到,此时你就可以使用。
#如果找到了,这个名字就不能用了
//运行以下命令,完成初始化

npm init --yes

//完成后会自动创建一个package.json文件,对你项目myNpm信息进行设置

二、完成开发功能

        一个简单的示例:

//tools.js
const relativeTime = (oldTime) => {
  const t = new Date(oldTime)
  // Date.now():现在的时间戳(毫秒)
  // t.getTime():旧时间的时间戳(毫秒)

  const diff = Date.now() - t.getTime() // 相隔多少毫秒
  // Math.floor 向下取整: 1.7年 ---> 1年前
  const year = Math.floor(diff / (1000 * 3600 * 24 * 365))
  if (year) {
    return `${year}年前`
  }
  const month = Math.floor(diff / (1000 * 3600 * 24 * 30))
  if (month) {
    return `${month}月前`
  }
  const day = Math.floor(diff / (1000 * 3600 * 24))
  if (day) {
    return `${day}天前`
  }
  const hour = Math.floor(diff / (1000 * 3600))
  if (hour) {
    return `${hour}小时前`
  }
  const minute = Math.floor(diff / (1000 * 60))
  if (minute) {
    return `${minute}分钟前`
  } else {
    return '刚刚'
  }
}

const formatDate = (dateTime) => {
  // console.log(date)
  // date = new Date();
  const date = new Date(dateTime) // 转换成Data();
  console.log(date)
  var y = date.getFullYear()
  console.log(y)
  var m = date.getMonth() + 1
  m = m < 10 ? '0' + m : m
  var d = date.getDate()
  d = d < 10 ? ('0' + d) : d
  return y + '-' + m + '-' + d
}



// 通过module.exports来导出模块
module.exports = {
  formatDate,
  relativeTime
};

1、切换当前npm镜像源到官网

        由于我们需要把包上传到npm上,所以要先确定当前的npm源是npmjs.org。

        (1)查看当前的npm的registr配置

npm config get registry
#查看当前的npm的registry配置,确保是https://registry.npmjs.org

#如果不是,可以通过以下命令来设置
npm config set registry https://registry.npmjs.org
#手动设置registry

        (2)或者使用nrm工具来设置:

                命令输入 nrm ls 来查看当前路径

                输入nrm use xxx来切换镜像源

2、链接npm

npm adduser

这个命令需要输入三个信息一供连接上npmjs:

  • 用户名
  • 密码
  • 邮箱(是你在npmjs官网时使用的信息)

如果不是第一次连接以下命令可以检查自己是否连接成功:

npm who am i

如果成功了,就可以进行最后一步了:publish

如果想退出:

npm logout

3、把包上传到npm

npm publish

        如果成功:

-----------------------------------
npm notice
npm notice package: tool61@1.0.0
npm notice === Tarball Contents ===
npm notice 1.3kB index.js
npm notice 220B  package.json
npm notice === Tarball Details ===
npm notice name:          tool61
npm notice version:       1.0.0
npm notice package size:  855 B
npm notice unpacked size: 1.5 kB
npm notice shasum:        3bfba7bc92e242810a850ac39ded7ebe992a6d9c
npm notice integrity:     sha512-VoRuxxbcGzXen[...]v3tKWYUT1B1AQ==
npm notice total files:   2
npm notice
+ tool61@1.0.0

        如果失败,原因:

  • 这个版本号被别人先用了
  • 包的版本号不对:每次publish时,包的版本号要大于之前的版本号
  • 文件过大,你可能需要创建.npmignore文件来设置在打包时要忽略哪些文件。

成功后就可以登录npm官网,看看你名下的package.json下是否有了myNpm

三、下载使用

        1、安装

npm install 包名

        2、删除包

npm unpublish --force //强制删除

//如果你的包只是测试没什么用处,建议删除,节约公共资源

        3、更新包

                (1)修改代码,保存

                (2)更新版本号。可以直接在package.json中修改,只能改大不能改小

                (3)重新publish

                                                                                                              

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值