本文是 npm 包管理工具的理解和操作记录,系统的学习 npm。
本文记录是 从 node.js 官网学习 npm 模块的理解和摘要,看详情可点击npm 包管理。
npm 是 Node.js 标准的软件包管理器。
起初是作为下载和管理 Node.js 包依赖的方式,但其现在也已成为前端 JavaScript 中使用的工具。
{
"scripts": {
"start-dev": "node lib/server-development",
"start": "node lib/server-production"
},
}
在命令行中运行:
$ npm run watch
$ npm run dev
$ npm run prod
const _ = require('包名')
package.json 文件时项目的清单,存储所有已安装软件包的名称和版本的地方。唯一要求遵守 JSON 格式,否则无法读取。
{
"name": "test-project",
"version": "1.0.0",
"description": "A Vue.js project",
"main": "src/main.js",
"private": true,
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"unit": "jest --config test/unit/jest.conf.js --coverage",
"test": "npm run unit",
"lint": "eslint --ext .js,.vue src test/unit",
"build": "node build/build.js"
},
"dependencies": {
"vue": "^2.5.2"
},
"devDependencies": {
"autoprefixer": "^7.1.2",
"babel-core": "^6.22.1",
"vue-loader": "^13.3.0",
"vue-style-loader": "^3.0.1",
},
"engines": {
"node": ">= 6.0.0",
"npm": ">= 3.0.0"
},
"browserslist": ["> 1%", "last 2 versions", "not ie <= 8"]
}
文件旨在跟踪被安装的每个软件包的确切版本,以便产品可以以相同的方式被 100% 复制(即使软件包的维护者更新了软件包。
可以使用 semver 表示法设置要升级到的版本(补丁版本或次版本),例如:
升级规则:
^: 如果写入的是 ^0.13.0,则当运行 npm update 时,会更新到补丁版本和次版本:即 0.13.1、0.14.0、依此类推。
~: 如果写入的是 〜0.13.0,则当运行 npm update 时,会更新到补丁版本:即 0.13.1 可以,但 0.14.0 不可以。
: 接受高于指定版本的任何版本。
=: 接受等于或高于指定版本的任何版本。
<=: 接受等于或低于指定版本的任何版本。
<: 接受低于指定版本的任何版本。
=: 接受确切的版本。
-: 接受一定范围的版本。例如:2.1.0 - 2.6.2。
||: 组合集合。例如 < 2.1 || > 2.6。
无符号: 仅接受指定的特定版本(例如 1.2.1)。
latest: 使用可用的最新版本。
当运行 npm update 时,package-lock.json 文件中的依赖的版本会被更新。