zoukankan      html  css  js  c++  java
  • npm包开发与发布

    把通用的功能开发成npm包,便用使用和维护,更重要的是可以分享给广大的开发者,是不是很激动人心!

    那么,步骤如下:

    1.创建项目

    创建项目目录,npm init ,根据需要输入配置信息(建完后也可以在package.json中自行修改)

    创建完成后项目目录下会有一个package.json文件

    配置项

    name: 说明了npm包的名称,也就是publish后可以在npmjs中通过该名称搜索到

    version:版本号

    main:入口文件

    2.创建index.js文件,内容如下:

     1 function addZero(num) {
     2   return num > 9 ? num : '0' + num
     3 }
     4 
     5 let formatter = {
     6   date: null,
     7   init(date) {
     8     try {
     9       if (date) {
    10         this.date = new Date(date)
    11       }
    12     } catch (error) {
    13       console.info(error)
    14     }
    15   },
    16   getDateTime () {
    17     let date = this.date || new Date()
    18     let res = ''
    19     res = date.getFullYear() + '-' + addZero(date.getMonth() + 1) + '-' +addZero(date.getDate())
    20     + ' ' + addZero(date.getHours()) + ':' + addZero(date.getMinutes()) + ':' + addZero(date.getSeconds())
    21     return res
    22   },
    23   getDate () {
    24     return this.getDateTime().split(' ')[0]
    25   },
    26   getTime () {
    27     return this.getDateTime().split(' ')[1]
    28   }
    29 }
    30 
    31 module.exports = formatter
    module.exports = formatter意思是把formatter输出。

    3.测试
    创建test-formatter.js,导入index并使用其中的方法
    1 let formatter = require('./index') // 导入
    2 formatter.init('2018-6-9')
    3 console.info(formatter.getDateTime())

    命令行输入 node test-formatter.js  执行,结果为:

    4.测试没有问题,那么需要创建一个ReadMe文件进行说明

    主要包含:

    介绍,安装方法,github地址,使用示例

     1 # datetime-format-wsy
     2 格式化时间,获取2019-08-07 15:06:32或2019-08-07或15:06:32
     3 
     4 # install
     5 npm install -g datetime-format-wsy
     6 
     7 #github
     8 https://github.com/shiyuan598/FrontEnd/tree/master/npm/datetime-format
     9 
    10 #usage
    11 let formatter = require('./index')
    12 formatter.init('2018-6-9')
    13 console.info(formatter.getDateTime())

    此时项目的目录结构如下:

    5.下面就可以发布了

    先要有一个npm账号,,如果没有请到 https://www.npmjs.com 注册

    命令行输入:

    npm login

    根据提示依次输入用户名、密码,登录成功后会显示用户名。

    命令行输入:

    npm publish

     完成发布。

    如果是因为使用了淘宝镜像导致publish不成功,可以按如下步骤操作:

    npm i -g nrm

    nrm use npm

    再次npm publish

    6.使用

    发布成功后就可以在npmjs中搜索、也可以安装使用了。

    在npmjs搜索的结果:

    安装:

    命令行输入:npm install datetime-format-wsy --s

     

    安装完成后项目目录下会增加package-lock.json描述了该包的信息:

     1 {
     2   "name": "datetime-format-wsy2",
     3   "version": "1.0.1",
     4   "lockfileVersion": 1,
     5   "requires": true,
     6   "dependencies": {
     7     "datetime-format-wsy": {
     8       "version": "1.0.1",
     9       "resolved": "https://registry.npmjs.org/datetime-format-wsy/-/datetime-format-wsy-1.0.1.tgz",
    10       "integrity": "sha512-klyoj8r2KbOqN9zngjplMr+EWU+cGqa1KgzNn+TUtEpzvYqmnJvj+P90gYXgm0sKVd4+30GLesocoRmMWh3Q0Q=="
    11     }
    12   }
    13 }

     在test-format.js中使用

    1 let timeFormat = require('datetime-format-wsy')
    2 let date = timeFormat.getDateTime()
    3 console.info(date)

    结果:

    (另外,使用node运行js文件,文件改动后不会自动更新,需要重复运行node命令,

    可以使用nodemon代替,自动重启,提升效率,

    安装:npm install -g nodemon

    使用: nodemon filename.js)

    代码github地址:

    https://github.com/shiyuan598/FrontEnd/tree/master/npm/datetime-format
     

     仅介绍npm包开发与发布的流程,如有问题请不吝赐教,欢迎留言交流~

  • 相关阅读:
    leetcode--Recover Binary Search Tree
    leetcode--Construct Binary Tree from Preorder and Inorder Traversal
    leetcode---Construct Binary Tree from Inorder and Postorder Traversal
    leetcode---Trapping Rain Water
    leetcode--Balanced Binary Tree
    leetcode--Clone Graph
    leetcode--Longest Consecutive Sequence
    leetcode --Jump Game
    计算机组成原理 8 中断和异常
    计算机网络 5.6-5.8 TCP/UDP
  • 原文地址:https://www.cnblogs.com/jyughynj/p/11227274.html
Copyright © 2011-2022 走看看