node 包与包结构

一、包结构

一、一个标准的包,应该包含哪些内容

包实际上就是一个压缩文件,解压以后还原为目录,符合 CommonJS 规范的目录,应该包含如下文件和文件夹

1、package.json 描述文件 ---------- 描述文件(包的 “说明书”,必须要要有)

2、bin 可执行二进制文件 ------------ 可执行二进制文件

3、lib js代码 ----------------------------- 经过编译后的js代码

4、doc 文档 ----------------------------- 文档(说明文档、修复文档、版本变更记录文档)

5、test 单元测试 ----------------------- 一些测试报告

二、如何让一个普通文件夹变成一个包

让这个文件夹拥有一个: package.json文件即可,且package.json里面的内容要合法。执行命令: npm init

包名的要求;不能有中文、不能有大写字母、同时尽量不要以数字开头、不能与npm仓库上其他包同名。

 三、安装

安装之前必须保证文件夹内有 package.json,且里面的内容格式合法

1、npm install xxxxx --save 或 npm i xxxxx -S 或 npm i xxx

  备注:

   (1)、局部安装完第三方包,放在当前目录中 node_modules 这个文件夹里

      (2)、安装完毕会自动产生一个 package-lock.json (npm版本中在5以后才有),里面缓存的是每一个下载的包的地址,目的是下次安装时速度快一些

    (3)、当安装完一个包,该包的名字会自动写入 package.json中的【dependencies(依赖)】里,nmp5及之前版本要加上 --sava 后缀

2、npm install xxxxx -sava-dav 或 npm i xxxxx -D  安装包并将该包写入到【devDependencies(开发依赖中)】

  什么是生产依赖与开发依赖

    1、只有在开发时(写代码时)才用到的库,就是开发依赖 ---- 例如:语法检查、压缩代码、扩展css前缀的包

    2、在生产环境中(项目上线)不可缺少的,就是生产依赖 ---- 例如:jquery、bootStrap 等等

    3、注意:某些包即属于开发依赖,又属于生产依赖  ----- 例如:jQuery

3、npm i xxxxx -g 全局安装xxxx包(一般来说,带有指令集的包都要进行全局安装,例如:browserify、bobel等)

4、npm i xxx@yyy :安装xxx包的yyy版本

5、npm i :安装package.json中声明的所有包

四、移除

npm remove xxxxx  在node_module 中删除 xxxx 包,同时会删除该包在package.json中的声明

五、其他命令

1、npm aduit fix :检测项目依赖中的一些问题,并且尝试着修复

2、npm view xxxxx versions :在查看远程npm仓库中xxxx包的所有版本信息

3、npm view xxxxx version : 查看npm仓库中xxxx包的最新版本

4、npm ls xxxx :查看我们所安装的xxxx包的版本

六、关于版本号的说明

  ”^3.x.x“ :锁定大版本,以后安装包的时候,保证是3.x.x版本,x默认是取最新的

  ”~3.1.x“ :锁定小版本,以后安装包的时候,保证是3.1.x版本,x默认是取最新的

  ”3.1.1“ :锁定完整版本,以后安装包的时候,保证必须是3.1.1版本

posted @ 2022-06-29 16:41  生活在北极的企鹅  阅读(83)  评论(0编辑  收藏  举报