美文网首页
发布专属自己的npm包

发布专属自己的npm包

作者: TRYao | 来源:发表于2018-02-24 10:47 被阅读0次

题记:一步步探索的过程非常有趣。

作为一名前端工程师,天天npm install别人的包,想不想自己写一个包让别人用呢?talk is cheap,撸起袖子开始干:

发布包

文章目录

  1. 编写模块
  2. 初始化包描述文件
  3. 注册NPM账号
  4. 上传包
  5. 安装包
  6. 管理包权限

编写模块

以helloworld为例,代码如下:

exports.sayHello = function () {
    return 'Hello,world';
}

保存在你的目标文件夹下,命名为hello.js

初始化包描述文件

NPM提供的npm init命令会帮助你生成package.json文件,以问答方式逐步填入选项,如下:


npm init

注册NPM账号

npm adduser
没有账号的话执行npm adduser,同时注意登录 https://www.npmjs.com 完成邮箱验证
有账号的话执行npm login

上传包

这一步的问题就比较多了
首先报错:no_perms Private mode enable, only admin can publish this module: hello


报错

Google找到原因,原来是因为我之前修改了NPM镜像源,执行下面命令即可:

npm config set registry http://registry.npmjs.org 

再次执行npm publish又出现报错:
You do not have permission to publish "hello". Are you logged in as the correct user? : hello


报错

Google之原因如下:

原因

意思就是我的包名已经被别人占用啦!
回到package.json,将"name"属性修改为"hello_tryao",再次执行npm publish终于成功:

成功

安装包

接下来你可以测试和安装自己的包啦,可以换一个目录执行

npm install hello_tryao

管理包权限

如果需要多人管理一个包,可以使用npm owner命令:

npm owner ls <package name>
npm owner add <user> <package name>
npm owner rm <user> <package name>

相关文章

  • 发布专属自己的npm包

    题记:一步步探索的过程非常有趣。 作为一名前端工程师,天天npm install别人的包,想不想自己写一个包让别人...

  • npm发布自己的npm包及使用

    [TOC] ### 1.npm 发布自己包到npm平台 1.下载安装node js 注意:发布包的名字不能跟npm...

  • 自定义npm包的创建、发布、更新和撤销

    大纲 1、准备2、自定义npm包3、发布自定义npm包4、引用npm包5、更新npm包6、撤销发布的npm包 博客...

  • 发布自己的 npm 包

    开始 安装node和npm去 http://nodejs.org下载nodejs,同时就安装了npm 检查npm是...

  • 发布自己的npm包

    作为一个前端工程师每天npm install好多遍,那么我们install的包是怎么来的呢?毫无疑问是别人分享开源...

  • 发布自己的npm包

    对于前端来说,npm install xx 这个命令是用的比较多的,一般需要引用第三方库/UI库,动能插件的时候需...

  • 发布自己的npm包

    1 确保你的代码测试通过了 npm run test 全部是绿色(原谅色)才行。 2 上传代码到 npmjs.or...

  • 发布自己的npm包

    第一步: 注册账号 注册npm账号 第二步: 创建项目 使用npm初始化项目npm init 第三步: 发布项目 ...

  • 发布自己的npm包

    前言: 一直都在用别人的npm包,想着来试试自己也发个npm包试试看,哈哈哈 一些准备工作 登陆 https://...

  • 发布自己的npm包

    一、注册npm账号 注册地址:https://www.npmjs.com/[https://www.npmjs.c...

网友评论

      本文标题:发布专属自己的npm包

      本文链接:https://www.haomeiwen.com/subject/hqcqxftx.html