nodejs中标准包的制作,上传,安装及卸载方法

惟其艰难,方显勇毅      2022-02-07     356

关键词:

 :如何制作一个标准包?

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

包的使用:

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

Node.js在调用包时,首先会检查包中的package.json文件的main字段,将其作为包的接口模块,如果package.json文件的main字段不存在,那么Node.js会尝试寻找index.jsindex.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  // 建立包依赖

 

arcgis10.2安装及卸载教程

...作,之后卸载其他ArcGIS软件即可。ArcGIS10.2的安装在安装包的根目录下找到安装程序,点击运行 安装ArcGISforDesktop和ArcG 查看详情

苹果mac电脑中brew的安装使用及卸载详细教程

...不知道你安装的软件的名字,那么你需要先搜索下,查到包的名字。比如我要安装brewsearch/wge*//wge*/是个正则表达式,需要包含在/中其他brew命令brewlist列出已安装的软件brewupdate更新brewbrewhome用浏览器打开brew的官方网站brewinfo显示... 查看详情

python查看package的安装路径及包的方法

参考技术A查看包的相关信息,可以直接在安装路径下查看它的原码:如查看simhash包的相关文档、安装路径、方法: 查看详情

cocoapods的安装、使用(查找.安装)及cocoapods卸载

...要移除http的淘宝源更新Mac的Gem,Gem是管理Ruby库和程序的标准包然后输入管理员权限密码(看不到输入结果的,输完密码之后直接回车)安装CocoaPods当出现:SettingupCocaPodsmasterrepo时;按住command+N开启一个新的终端窗口;输入:当报错下... 查看详情

nodejs应用离线安装部署卸载

...署1、切换到linux根目录下:cd/2、新建目录data:mkdirdata3、上传并解压安装包至data目录:unzipxxx.z 查看详情

windowsserver,nginx安装,配置,运行nodejs后端的web项目的实现,以及错误分析及解决方法

...indows服务三、将Nginx设置为Windows服务四、 将项目文件上传到 查看详情

Nodejs - 如何在 ubuntu 中卸载旧版本的 nodejs 并安装新版本的 nodejs

】Nodejs-如何在ubuntu中卸载旧版本的nodejs并安装新版本的nodejs【英文标题】:Nodejs-howtouninstallolderversionofnodejsandinstallnewversionofnodejsinubuntu【发布时间】:2019-11-0804:17:45【问题描述】:我的react项目需要更新nodejs。那么我如何在Ubuntu1... 查看详情

office2010卸载出现安装程序包的语言不支持

1.百度解决办法,出现让安装MicrosoftFixit50450.msi,但我使用后出现安装不上,至于弹出什么提示框,我忘了,总之解决不了。2.方法二(有效)搜索windowsinstallercleanup,虽然微软不再提供,但下面有解决办法。点进去,通过简易完全... 查看详情

nodejs安装及环境配置

1、下载安装点击这里下载根据自己电脑系统及位数选择,我这里选择windows64位.msi格式安装包.msi和.zip格式区别:.msi是Windowsinstaller开发出来的程序安装文件,它可以让你安装,修改,卸载你所安装的程序。说... 查看详情

python及r安装包版本查看方法

...installed.packages()(括号内为空,区别以上两项)查询具体包的信息:help(package="pheatmap")或者加载包之后?`pheatmap-package`(注意反引号)以及?pheatmap查询包的版本:installed.package()能列出所有已安装的包的版本,packageVersion("pheatmap 查看详情

nodejs安装及环境配置(代码片段)

1、下载安装点击这里下载根据自己电脑系统及位数选择,我这里选择windows64位.msi格式安装包.msi和.zip格式区别:.msi是Windowsinstaller开发出来的程序安装文件,它可以让你安装,修改,卸载你所安装的程序。说... 查看详情

npm离线包的制作和使用(代码片段)

说明常规情况,node安装依赖库使用npminstall命令安装。它会从互联网上的npm中央仓库中下载对应的包文件。但是在有些情况下需要在没有互联网的情况下安装依赖库,比如有些公司中,开发环境无法直接连接互联网,只... 查看详情

中标麒麟linux操作系统怎么安装软件

...a查询所有已经安装的包以下两个附加命令用于查询安装包的信息;i显示安装包的信息;l显示安装包中的所有文件被安装到哪些目录下;s显示安装版中的所有文件状态及被安装到哪些目录下;以下两个附加命令用于指定需要查... 查看详情

docker镜像的创建及上传(代码片段)

...介绍Docker镜像除了是Docker的核心技术之外也是应用发布的标准格式。一个完整的Docker镜像可以支撑一个Docker容器的运行,在Docker的整个使用过程中,进入一个已经定型的容器之后,就可以在容器中,进行操作,最常见的操作就是... 查看详情

npm小结(代码片段)

...npm的背后,是基于couchdb的一个数据库,详细记录了每个包的信息,包括作者、版本、依赖、授权信息等。它的一个很重要的作用就是:将开发者从繁琐的包管理工作(版本、依赖等)中解放出来,更加专注于功能的开发。npm官... 查看详情

将版本嵌入 Python 包的标准方法?

】将版本嵌入Python包的标准方法?【英文标题】:StandardwaytoembedversionintoPythonpackage?【发布时间】:2010-10-0207:03:33【问题描述】:是否有一种标准方法可以将版本字符串与Python包相关联,以便我可以执行以下操作?importfooprint(foo.v... 查看详情

我可以在不在 pypi 中注册包的情况下制作 pip 可安装包吗?

】我可以在不在pypi中注册包的情况下制作pip可安装包吗?【英文标题】:CanImakepipinstallablepackagewithoutregisteringpackageinpypi?【发布时间】:2018-06-1813:27:50【问题描述】:我正在尝试按照以下说明使用python3制作pip可安装包:Urlhere我... 查看详情

ubuntu使用snap安装及卸载phpstorm(代码片段)

...文件和库,各个应用程序之间完全独立。所以使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。但是由此带 查看详情