npm包【详解】(内含npm包的开发、发布、安装、更新、搜索、卸载、查看、版本号更新规则、package.json详解等)

简介: npm包【详解】(内含npm包的开发、发布、安装、更新、搜索、卸载、查看、版本号更新规则、package.json详解等)

npm 包

npm 包即符合 npm官网 规范的 js 模块,通常会发布到 npm 官网中,供大家下载使用。

npm 包的详细信息

npm 包的详细信息储存在 npm 包的 package.json 文件中,通常包含以下信息:

  • name - 包名。
  • version - 包的版本号。
  • description - 包的描述。
  • homepage - 包的官网 url 。
  • author - 包的作者姓名。
  • contributors - 包的其他贡献者姓名。
  • dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
  • repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
  • main - main 字段指定了程序的主入口文件,require(‘moduleName’) 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。
  • keywords - 关键字

npm 包的版本号

npm 包的版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。

当代码变更时,版本号按以下原则更新:

  • 只是修复bug,需要更新Z位。
  • 新增了功能,但是向下兼容,需要更新Y位。
  • 有大变动,向下不兼容,需要更新X位。

查看指定包的版本号

grunt 为包名

npm list grunt

安装包 npm install

express 为依赖包的名称,npm install 可简写为 npm i

本地安装

将安装包下载到 ./node_modules 中(运行 npm 命令时所在的目录),若没有 node_modules 目录则会创建该目录

npm install express

使用时,无需指定第三方包路径。

var express = require('express');

全局安装

会将包下载到node.js的安装目录中的 node_modules 目录中,所有项目都可以使用全局安装的包

npm install express -g

更新包 npm update

express 为依赖包的名称

npm update express

搜索包 npm search

express 为依赖包的名称

npm search express

卸载包 npm uninstall

express 为依赖包的名称

npm uninstall express

查看当前目录下的所有包

npm ls

查看全局安装的所有包

npm list -g

开发 npm 包

  1. 新建文件夹 mypack-test
  2. 用vscode 打开文件夹 mypack-test
  3. 终端执行 npm init 生成 package.json 文件,一路回车,最后输入 y 回车即可。
  1. 蓝框内的部分为包的信息,可根据需要自行输入(或等生成package.json后再修改)
  • package name 包名,默认为项目名称
  • version 包的版本号,默认为 1.0.0
  • description 包的描述信息
  • entry point 包的入口文件(包内的所有内容,要在此文件对外导出),默认为 index.js
  • test command 测试命令,默认为 “echo “Error: no test specified” && exit 1”
  • git repository 包的远程 git 仓库
  • keywords 关键字
  • author 包的作者
  • license 开源文件协议,默认为 ISC
  1. 新建文件index.js,内容为
    要点:定义的函数/变量一定要对外导出!
/*
  函数功能——求和
  参数——两个数字
*/
function sum(a, b) {
  return a + b;
}

module.exports = {
  sum: sum,
};

至此,已完成 npm 包的开发,若想对外开放下载,请继续发布 npm 包

发布 npm 包

  1. 注册 npm 账号
npm adduser

或者直接去官网注册 https://www.npmjs.com/

  1. 登录 npm 账号
npm login

按提示依次输入npm 的账号、密码、邮箱、邮件中收到的一次性校验码

3. 发布

npm publish

若遇到以下报错

npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/mypack-test - You do not have permission to publish "mypack-test". Are you logged in as the correct user?

则说明 npm 官网已存在当前包。

解决方案

将 package.json 中的包名 name 修改为一个 npm 官网不存在的包名,再发布即可。

如最终我的包名为 mypack-test-999

发布成功后,在官网即可查到

https://www.npmjs.com/package/mypack-test-999

试用原创的 npm 包

  1. 新建文件夹 test_mypack
  2. 用 vscode 打开文件夹 test_mypack
  3. 安装包
npm i mypack-test-999

4. 新建文件 index.js,内容为

import { sum } from "mypack-test-999";

let result = sum(6, 2);
console.log(result);

  1. 执行 index.js

    出现图中的报错,则需要在 package.json 中添加
"type": "module",

再次执行 index.js,得到预期结果,验证成功!

 

目录
打赏
0
0
0
0
63
分享
相关文章
在NodeJS中使用npm包进行JS代码的混淆加密
总的来说,使用“javascript-obfuscator”包可以帮助我们在Node.js中轻松地混淆JavaScript代码。通过合理的配置,我们可以使混淆后的代码更难以理解,从而提高代码的保密性。
45 9
nodejs18版本 npm run dev失败
在使用若依框架运行 `npm run dev` 时,若卡在 95% 并报错,通常是 Node.js 17+ 与 Webpack 的兼容性问题。原因是 OpenSSL 3 的加密算法变化导致依赖冲突。解决方法:Windows 下运行 `set NODE_OPTIONS=--openssl-legacy-provider`,macOS/Linux 使用 `export NODE_OPTIONS=--openssl-legacy-provider`,然后重新启动开发服务即可。此设置让 Node.js 启用旧版加密支持,恢复正常构建流程。
83 0
怎么安装JSON服务器?JSON服务器最新安装教程
JSON Server是一款轻量级工具,基于Node.js运行,可通过单个JSON文件快速模拟RESTful API,适用于开发与测试场景。其支持CRUD操作、自定义路由及高级功能如排序、搜索、分页等,同时允许通过中间件扩展功能。为确保安全性,建议在受控环境中使用,并避免处理敏感数据。此外,还有Mirage JS、Mockoon、WireMock和Postman等替代方案,可根据项目需求选择合适的工具。
54 0
npm学习一:npm 包管理工具 学习、使用。
这篇文章介绍了npm的基础知识和常用命令,包括安装包、查看包信息、管理依赖等操作,并提供了如何删除npm安装的镜像以及如何彻底删除node_modules文件夹的具体步骤。
211 2
npm、cnpm 和 pnpm 是三种常用的 Node.js 包管理工具
npm、cnpm 和 pnpm 是三种常用的 Node.js 包管理工具。npm 是官方默认的包管理器,提供依赖管理、安装和更新等功能;cnpm 是由阿里巴巴开发的 npm 镜像,专为中国大陆用户优化,解决下载速度慢的问题;pnpm 通过硬链接技术提高安装速度并节省磁盘空间,特别适合磁盘资源紧张的环境。三者命令类似,但各有特色,开发者可根据需求选择合适的工具。
305 5
npm学习一:npm 包管理工具 学习、使用。
这篇文章是关于npm包管理工具的学习、使用指南,包括npm概述、基础命令和如何安装webpack。
165 3
npm学习一:npm 包管理工具 学习、使用。
前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包
前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包
379 0
Vue2开发插件并发布到npm
这篇文章介绍了如何使用Vue 3、TypeScript和Vite开发一个下拉框组件`vue-amazing-selector`,并将其发布到npm,包括了项目的创建、组件开发、配置webpack、编写组件代码、导出组件、编译、npm包初始化、发布流程以及在项目中使用该插件的完整步骤。
168 0
Vue2开发插件并发布到npm
阿里云云效操作报错合集之npm包已经发布到了制品仓库,但流水线中拉取依赖时出现404错误,该如何排查
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
阿里云云效操作报错合集之npm包已经发布到了制品仓库,但流水线中拉取依赖时出现404错误,该如何排查

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等