发布于 

npm与包

什么叫做包?

就是指第三方模块,叫法同而已 ps:感觉就像是闲的无聊

包的来源?有网就可以下载,不是很麻烦 但是下载速吧。。。可能会让你抓狂

为什么需要包?

​ 为了提高开发效率

像是JQuery和浏览器内置API的关系

官网: https://www.npmjs.com ps:没有中文请自备翻译器

初次安装包后,项目多node_module的文件夹和package-lock.json配置文件

node_modules 文件夹用来存放所有已安装到项目中的包。require() 导入第三方包时,就是从这个目录中查找并加载包。

package-lock.json配置文件用来记录node_modules 目录下的每一个包的信息,例如包的名字、版本号、下载地址等。

注意:不要手动修改node_modules 或 package-lock.json文件中的任何代码,npm 包管理工具会自动维护它们 ps:估计没人会手贱吧( ̄. ̄)

多人协作问题:

遇到的问题:第三方包的体积过大,不 方便团队成员之间共享项目源代码。

解决方法:

共享时剔除node_modules

package.json,用来记录项目中安装了哪些包。

注:运行时npm i 自动安装包和版本号

dependencies 节点:

package.json 文件中,有一个dependencies 节点,专门用来记录您使用npm install 命令安装了哪些包。

**注意:**npm install 命令运行完毕之后,会自动把包的信息,添加到package.json 的 dependencies 节点中。

devDependencies 节点:

某些包只在项目开发阶段会用到,在项目上线之后不会用到,则建议把这些包记录到devDependencies 节点

包的分类:

项目包与全局包

项目包
  1. 那些被安装到项目的node_modules 目录中的包,都是项目包。
    项目包又分为两类,分别是:
  2. ⚫ 开发依赖包(被记录到devDependencies 节点中的包,只在开发期间会用到)
  3. ⚫ 核心依赖包(被记录到dependencies 节点中的包,在开发期间和项目上线之后都会用到
全局包

​ npm i 包名 -g 全局包

注意:

① 只有工具性质的包,才有全局安装的必要性。因为它们提供了好用的终端命令。

② 判断某个包是否需要全局安装后才能使用,可以参考官方提供的使用说明即可。

规范的包结构:

① 包必须以单独的目录而存在

② 包的顶级目录下要必须包含package.json 这个包管理配置文件

③ package.json 中必须包含 name,version,main这三个属性,分别代表包的名字、版本号、包的入口。


本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。