欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

npm和package.json

程序员文章站 2022-03-03 16:56:54
...

npm install
cnpm install

处理缓存问题:
先删掉node_modules,
然后npm cache clear(cnpm cache clear),
然后再npm install

本地安装时将模块写入package.json中:

【npm install xxx】安装但不写入package.json;
【npm install xxx –save】 安装并写入package.json的”dependencies”中;
【npm install xxx –save-dev】安装并写入package.json的”devDependencies”中。

package有两种依赖:

  1. dependencies —— 运行依赖,依赖的项该是正常运行该包时所需要的依赖项

  2. devDependencies —— 开发依赖,开发的时候需要的依赖项,像一些进行单元测试之类的包。

常用两种情况:

1.package.json不存在时
运行命令: npm init可自动创建package.json文件

2.package.json存在时
运行命令:npm install 或者 npm install –save-dev会自动将package.json中的模块安装到node-modules文件夹下。

dependencies 依赖
这个可以说是我们 npm 核心一项内容,依赖管理,这个对象里面的内容就是我们这个项目所依赖的 js 模块包。

下面这段代码表示我们依赖了 markdown-it 这个包,版本是 ^8.1.0 ,代表最小依赖版本是 8.1.0 ,如果这个包有更新,那么当我们使用 npm install 命令的时候, npm 会帮我们下载最新的包。

当别人引用我们这个包的时候,包内的依赖包也会被下载下来。

"dependencies": {
"markdown-it": "^8.1.0"
}

devDependencies 开发依赖
在我们开发的时候会用到的一些包,只是在开发环境中需要用到,但是在别人引用我们包的时候,不会用到这些内容,放在 devDependencies 的包,在别人引用的时候不会被 npm 下载。

"devDependencies": {
"autoprefixer": "^6.4.0",
"babel-preset-es2015": "^6.0.0",
"babel-preset-stage-2": "^6.0.0",
"babel-register": "^6.0.0",
"webpack": "^1.13.2",
"webpack-dev-middleware": "^1.8.3",
"webpack-hot-middleware": "^2.12.2",
"webpack-merge": "^0.14.1",
"highlightjs": "^9.8.0"
}

当你有了一个完整的 package.json文件的时候,就可以让人一眼看出来,这个模块的基本信息,和这个模块所需要依赖的包。我们可以通过 npm install 就可以很方便的下载好这个模块所需要的包。

npm install 默认会安装 dependencies 字段和 devDependencies 字段中的所有模块,如果使用 --production 参数,可以只安装 dependencies 字段的模块。

$ npm install --production
# 或者
$ NODE_ENV=production npm install

什么是 NPM?
npm 是 Node 官方提供的包管理工具,他已经成了 Node 包的标准发布平台,用于 Node 包的发布、传播、依赖控制。
npm 提供了命令行工具,使你可以方便地下载、安装、升级、删除包,也可以让你作为开发者发布并维护包。

为什么要使用 NPM?
npm 是随同 Node 一起安装的包管理工具,能解决 Node 代码部署上的很多问题,常见的场景有以下几种:
1、允许用户从 npm 服务器下载别人编写的第三方包到本地使用。
2、允许用户从 npm 服务器下载并安装别人编写的命令行程序到本地使用。
3、允许用户将自己编写的包或命令行程序上传到 npm 服务器供别人使用。
npm 的背后,是基于 CouchDB 的一个数据库,详细记录了每个包的信息,包括作者、版本、依赖、授权信息等。它的一个很重要的作用就是:将开发者从繁琐的包管理工作(版本、依赖等)中解放出来,更加专注于功能的开发。