IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 手把手教你写个包 -> 正文阅读

[JavaScript知识库]手把手教你写个包

一、包的分类:


项目包:被安装到项目的?node_modules 目录中的包,都是项目包;

  • 开发依赖包,被记录到 devDependencies 节点中的包,只在开发期间会用到;
  • 核心依赖包,被记录到 dependencies 节点中的包,在开发期间和项目上线之后都会用到;
npm i 包名 -D  // 开发依赖包 (会被记录到 devDependencies 节点下)
npm i 包名     // 核心依赖包 (会被记录到 dependencies 节点下)

全局包:

npm i 包名 -g  // 全局安装指定的包
npm uninstall 包名 -g  // 卸载全局安装的包

二、一个规范的包,它的组成结构,必须符合以下3点要求:


  • 包必须有单独的目yi录(文件夹);
  • 包的顶级目录下要必须包含 package.json 这个包管理配置文件 ;
npm init -y  // 创建 package.json 配置文件
  • package.json 中必须包含 nameversionmain 这三个属性,分别代表包的名字、版本号、包的入口

?

三、创建包;


步骤:

  • 项目初始化:
npm view 包名  
// 创建包的目录,查看包的命名是否被占用 
// 这个命令用来查看 某个包的信息
// 如果返回404,说明这个项目名在npm官网上找不到,此时你就可以使用。
// 否则,说明不可用。
npm init -y // 创建 package.json 文件
  • 项目开发

????????创建一个 index.js 作为项目开发的入口文件

  • 切换当前的镜像源到 npm 官网(我们需要把包上传到官网上,因此我们要查看镜像源是不是pmjs.org)

? ? ? ? ?(1) 查看当前 npm 的 registry 设置;

npm config get registry 
// 查看当前的npm的registry配置,确保是https://registry.npmjs.org

// 如果不是,可以通过如下命令来设置
npm config set registry https://registry.npmjs.org 
// 手动设置registry

? ? ? ? ?(2) 或者使用 nrm 工具来设置;

nrm ls

  • ?连接npm (在终端登录 npm 账号建立连接)
npm adduser  // 连接上npmjs
// 弹出
Username:
Password:  // 这里输入密码时并不显示
Email:(this Is public)
  • ?把包上传到 npm
// 可以通过以下命令验证是否连接成功
npm who am i

// 如果成功了,就可以直接 publish 了
npm public

// 如果想退出
npm logout

四、上传包出错的可能有:


  • 包名被占用。
  • 包的版本号不对:每次publish时,包的版本号都应该要大于之前的版本号。
  • 文件过大。你可能需要创建.npmignore文件来设置在打包时要忽略哪些文件。如下是一个demo.
# .npmignore
/node_modules
npm-debug.log
/src
/examples
/build

五、下载使用包


npm install 包名

通过npm install 包名即可来安装包。 然后,告诉你的小伙伴们去下载使用吧。

六、删除包


npm unpublish 包名 --force //强制删除

七、更新包


  1. 修改代码,保存。
  2. 更新版本号。可直接在package.json中修改:只能改大,不能改小。
  3. 重新publish
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-08 11:42:45  更:2021-10-08 11:42:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:28:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码