发布模块到 npm 仓库

编写模块目录

  • 编写自己模块的 package.json

    npm init
    
  • package.json 内容如下,关于 package.json 的内容编写可以参考该 文章

    {
      "name": "sqlhandler",
      "version": "0.0.1",
      "description": "connect to the sqlite3 and simple curd opertaion ",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "repository": {
        "type": "git",
        "url": "git+ssh://git@github.com/hygfaker/CURDDemo.git"
      },
      "dependencies": {
        "sqlite3": "^3.1.8"
      },
      "keywords": [
        "node.js",
        "sqlite3",
        "javascript"
      ],
      "author": "yans67",
      "license": "MIT",
      "bugs": {
        "url": "https://github.com/hygfaker/CURDDemo/issues"
      },
      "homepage": "https://github.com/hygfaker/CURDDemo#readme"
    }
    
    
  • 在目录中添加 index.js 文件,用于将引用我们写的模块。内容如下:

    module.exports = require('./lib/sqlHandler');
    
  • 创建 lib 目录,用于存放我们的模块。

    npm.png

上传到 npm 仓库

整个目录就这样简单地完成了,接下来就是要将我们的模块推到 npm 上,供他人使用。

  • 在 demo 的根目录上验证我们的 npm 账户,没有账户的话先到 npm 上 注册

    npm adduser
    
  • 完成验证后,就可以 publish 到 npm 仓库上。

    npm publish
    

关于添加依赖时的版本号

  • 指定版本:比如1.2.2,遵循“大版本.次要版本.小版本”的格式规定,安装时只安装指定版本。

  • 波浪号(tilde)+ 指定版本:比如~1.2.2,表示安装1.2.x的最新版本(不低于1.2.2)。

  • 插入号(caret)+ 指定版本:比如ˆ1.2.2,表示安装1.x.x的最新版本(不低于1.2.2),但是不安装2.x.x,也就是说安装时不改变大版本号。需要注意的是,如果大版本号为0,则插入号的行为与波浪号相同,这是因为此时处于开发阶段,即使是次要版本号变动,也可能带来程序的不兼容。

  • latest:安装最新版本。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • npm是什么 NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具...
    build1024阅读 7,988评论 0 9
  • npm 包管理器的常用命令 测试环境为node>=8.1.3&&npm>=5.0.3 1, 安装命令 //全局安装...
    13122阅读 2,980评论 0 2
  • 什么是 NPM npm之于Node,就像pip之于Python,gem之于Ruby,composer之于PHP。 ...
    ihoey阅读 6,280评论 2 36
  • 本文参考:2018 年了,你还是只会 npm install 吗?npm 官方文档package.json文件 -...
    双面小Q阅读 4,867评论 1 9
  • 2017年的最后一天,家里大的小的大家都很好!这是我最开心的。 我的大宝妈妈爱你,这一年你的进步很...
    璃萱阅读 258评论 0 0