一:如何制作一个标准包?

为了规范化,基本遵循CommonJS规范,首先约定:

包的使用:

  • 所有模块放在一个文件夹(包名)
  • 包放在当前项目中的node_modules文件夹下
  • 包中定义一个index.js(文件名不可以更改)导出所有模块(出口)
  • 引用包(约定大于配置)

Node.js在调用包时,首先会检查包中的package.json文件的main字段,将其作为包的接口模块,如果package.json文件的main字段不存在,那么Node.js会尝试寻找index.js或index.node作为包的接口。

以下是一个非常简单的标准包的参照:

标准包的结构:

名称 |功能 |---|---| package.js |包描述文件 bin |存放可执行文件 lib |存放JavaScript代码 doc |存放文档 test |存放单元测试用例代码 README.md |说明文档,描述包的作用和用法

如何打包生成package.json文件?

我们以下面这个还未打包的package为例:

步骤: 1.自己创建README.md说明文件,注意修改后缀名

2.在根目录package下执行命令窗口

npm init -y  //自动创建package.json

当然如果想要自己手动创建就不要加 -y输入 npm init即可

name:(package)    //包名:(括号内为默认值下同) 回车

version:(1.0.0)       //版本

git repository:        //模块的git仓库,选填。npm的用户一般都使用github做为自己的git       仓库

author:              //模块的作者名

License:(ISC)             //许可证 默认括号中的

IS this ok?(yes)         //输入yes即可生成

二:如何发布一个包?

1)发布一个包的步骤:

当我们创建完了一个包我们便会将其上传到npm的官网上去,以供其他人来使用

第一步:在npm官网 https://www.npmjs.com/上注册一个账号

第二步:登录

在包的根目录下面执行打开dos窗口(我这里的需要上传的包为math文件夹)(找到这个文件夹所在位置,按住shift右击, 点击”在此处打开命令窗口”)

npm adduser        //回车后,弹出Username:

Username:          //输入你在官网注册时的用户名,回车

Password:          //输入官网注册的密码,密码看不见,请确保你输的密码正确, 回车

Email:(this is Public)    //输入官网注册时绑定的邮箱,回车

第三步:上传

npm publish        //此处上传命令,回车

上传成功如下图:

2)发布一个包的时候容易遇到的问题:

  • 1.切换的源不对,很可能你现在的源是taobao等其他来源
  • 报错信息会中含有:
  • only admin can publish this module

解决办法:修改源 npm config set registry http://registry.npmjs.org

查看是否切换源成功: npm config list

当跳出的信息中含有registry = "http://registry.npmjs.org/"表示切换源成功

2.你的包名与npm官网上别人上传的包重名了,会报以下错误

解决办法有两种:

1.修改你包中的package.json文件中的name(即包的名字)

2.修改你包的版本名

三:安装包

在新建的文件的根目录下执行

npm install 需要的包名  //安装包 (想要安装在当前目录下,必须先生成package.json)

npm uninstall 需要删除的包名  //卸载包

npm unpublish @ 删除发布过的版本代码 npm unpublish haha@1.0.0

在新建的文件下的根目录执行

npm install 包名 --save  // 建立包依赖

nodejs中标准包的制作,上传,安装及卸载方法的更多相关文章

  1. asp.net 中 UEditor 图片和附件上传失败的处理方法

    1.0 找到 net 文件夹下面的 web.config 配置文件,注释掉如下的两句: 2.0 Uploader文件默认属性为编译,将其属性改为内容以后重新运行程序,图片上传成功. 3.0 删除 im ...

  2. Html5+NodeJS——拖拽多个文件上传到服务器

    实现多文件拖拽上传的简易Node项目,可以在github上下载,你可以先下载下来:https://github.com/Johnharvy/upLoadFiles/. 解开下载下的zip格式包,建议用 ...

  3. nodeJS中的包

    前面的话 Node组织了自身的核心模块,也使得第三方文件模块可以有序地编写和使用.但是在第三方模块中,模块与模块之间仍然是散列在各地的,相互之间不能直接引用.而在模块之外,包和NPM则是将模块联系起来 ...

  4. ueditor1.3.6jsp版在struts2应用中上传图片报"未找到上传文件"解决方案

    摘要: ueditor1.3.6jsp版在struts2应用中上传图片报"未找到上传文件"解决方案 在struts2应用中使用ueditor富文本编辑器上传图片或者附件时,即使配置 ...

  5. Maven配置jar(war)包自动打包上传Maven服务器的配置

    Maven配置jar(war)包自动打包上传Maven服务器的配置 创建jar(war)包工程 创建一个maven工程 在工程中穿件一个测试类 配置pom.xml <distributionMa ...

  6. SpringMVC中使用 MultipartFile 进行文件上传下载及删除

    一:引入必要的包 <!--文件上传--> <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fil ...

  7. 发布新的模型类包(用于上传到 NuGet 服务器上)

    生成包文件: 1.修改了模型类之后,在项目上点击右键,在列表菜单中选择 “编辑 …….csproj”,然后将里面的三个版本号都换成新的版本号. 2.右键项目,点击“打包” 3.复制输出信息中生成的包的 ...

  8. 【javascript】html5中使用canvas编写头像上传截取功能

    [javascript]html5中使用canvas编写头像上传截取功能 本人对canvas很是喜欢,于是想仿照新浪微博头像上传功能(前端使用canvas) 本程序目前在谷歌浏览器和火狐浏览器测试可用 ...

  9. 在MVC中利用uploadify插件实现上传文件的功能

    趁着近段的空闲时间,开发任务不是很重,就一直想把以前在仓促时间里所写的多文件上传功能改一下,在网上找了很多例子,觉得uploadify还可以,就想用它来试试.实现自己想要的功能.根据官网的开发文档,同 ...

随机推荐

  1. 如何自己编写Makefile

    如何自己编写Makefile   相信很多朋友都有过这样的经历,看着开源项目中好几页的makefile文件,不知所云.在日常学习和工作中,也有意无意的去回避makefile,能改就不写,能用ide就用 ...

  2. SQL select 语法(转)

    SQL 里面最常用的命令是 SELECT 语句,用于检索数据.语法是: SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ] * | expr ...

  3. 【转】Web前端研发工程师编程能力飞升之路

    分类: Javascript | 出自 海玉的博客 今天看到这篇文章.写的非常有意思.发现自己还有很长的一段路要走. [背景] 如果你是刚进入WEB前端研发领域,想试试这潭水有多深,看这篇文章吧: 如 ...

  4. EBS 消息总线

    http://www.ibm.com/developerworks/cn/webservices/ws-whyesb/ 开发人员为何需要企业服务总线? 本文不仅仅是为架构师准备的:使用企业服务总线 ( ...

  5. ios 中 documents和library 的区别

    简单来说就是用户在APP中输入并保存的数据放在Documents文件夹中(如用户输入的文本等), 并且如果手机连接电脑时,iTunes会自动备份其中文件,苹果不允许我们将下载的大型文件放入该文件夹. ...

  6. show status和show variables区别解析

    1.show status    查看系统运行的实时状态,便于dba查看mysql当前运行的状态,做出相应优化,动态的,不可认为修改,只能系统自动update. MariaDB [(none)]> ...

  7. 循序渐进Python3(十二) --0--  web之框架

    web框架的本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:utf ...

  8. oracle sql改写

    or可以改写成union 但是要注意,改写成union的时候一定要有一个唯一列参照,不然会少记录,因为union会去重. 可以用的唯一列:唯一索引列,主键列,rowid,rownum(视图里用这个)

  9. text()和html()的区别,以及val()

    text():设置或返回所选元素的文本内容: html():设置或返回所选元素的内容(包括 HTML 标记): val():设置或返回表单字段的值 例如: <!DOCTYPE html>& ...

  10. C语言调用curl库抓取网页图片(转)

    思路是先用curl抓取网页源码,然后以关键字寻找出图片网址.  范例: #include <stdio.h> #include <stdlib.h> #include < ...