赞
踩
set registry
npm config set registry https://registry.npm.taobao.org`
// 配置后可通过下面方式来验证是否成功
npm config get registry`
// 或npm info express
yrm: 是一个 yarn
源管理器,允许你快速地在源间切换
npm install yrm -g
yrm use taobao
yrm ls
yarn config get registry
查看软件包在 npm 仓库上最新的可用版本
npm view [package_name] version
列出软件包所有的以前的版本
npm view <package> versions
npm install <package-name>
#安装特定的软件包
#npm install <package>@<version>
npm install cowsay@1.2.0
通常会在此命令中看到更多标志:
--save
安装并添加条目到 package.json
文件的 dependencies。--save-dev
安装并添加条目到 package.json
文件的 devDependencies。devDependencies
开发依赖是仅用于开发的程序包,在生产环境中并不需要。 例如测试的软件包、webpack 或 Babel。
dependencies
则是与生产环境中的应用程序相关。通过npm install --production
),避免安装这些开发依赖项。
项目具有 package.json
文件
npm install
npm install <package-name>
的目录中,并且放置在此目录下的 node_modules
文件夹中npm root -g
# 本地安装
npm install <package-name>
# 全局安装
npm install -g <package-name>
## 更新所有包
npm update
## 指定单个软件包进行更新:
npm update <package-name>
npm uninstall <package-name>
npm uninstall -S <package-name> ## -S 或 --save 标志,则此操作还会移除 package.json 文件中的引用
npm uninstall -D <package-name> ## 使用 -D 或 --save-dev 标志从文件中移除
npm uninstall -g <package-name> ## -g 或 --global 标志 全局卸载
npm list
npm list -g
# 顶层的软件包
npm list --depth=0
# 指定名称来获取特定软件包的版本
npm list cowsay
语义版本控制的概念很简单:所有的版本都有 3 个数字:x.y.z
。
当发布新的版本时,不仅仅是随心所欲地增加数字,还要遵循以下规则:
因为 npm 设置了一些规则,可用于在 package.json 文件中选择要将软件包更新到的版本(当运行 npm update 时)。规则使用了这些符号:
符号 | 规则 |
---|---|
^ | 只会执行不更改最左边非零数字的更新。 如果写入的是 ^0.13.0,则当运行 npm update 时,可以更新到 0.13.1、0.13.2 等,但不能更新到 0.14.0 或更高版本。 如果写入的是 ^1.13.0,则当运行 npm update 时,可以更新到 1.13.1、1.14.0 等,但不能更新到 2.0.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 | 使用可用的最新版本。 |
Package.json:自己创建,创建空白文件({}), npm install package之后会自动在文件中增加新的东西。
属性 | 说明 |
---|---|
version | 表明了当前的版本。 |
name | 设置了应用程序/软件包的名称。 |
description | 是应用程序/软件包的简短描述。 |
main | 设置了应用程序的入口点。 |
private | 如果设置为 true,则可以防止应用程序/软件包被意外地发布到 npm。 |
scripts | 定义了一组可以运行的 node 脚本。 |
dependencies | 设置了作为依赖安装的 npm 软件包的列表。 |
devDependencies | 设置了作为开发依赖安装的 npm 软件包的列表。 |
engines | 设置了此软件包/应用程序在哪个版本的 Node.js 上运行。 |
browserslist | 用于告知要支持哪些浏览器(及其版本)。 |
{ "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", "babel-eslint": "^8.2.1", "babel-helper-vue-jsx-merge-props": "^2.0.3", "babel-jest": "^21.0.2", "babel-loader": "^7.1.1", "babel-plugin-dynamic-import-node": "^1.2.0", "babel-plugin-syntax-jsx": "^6.18.0", "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0", "babel-plugin-transform-runtime": "^6.22.0", "babel-plugin-transform-vue-jsx": "^3.5.0", "babel-preset-env": "^1.3.2", "babel-preset-stage-2": "^6.22.0", "chalk": "^2.0.1", "copy-webpack-plugin": "^4.0.1", "css-loader": "^0.28.0", "eslint": "^4.15.0", "eslint-config-airbnb-base": "^11.3.0", "eslint-friendly-formatter": "^3.0.0", "eslint-import-resolver-webpack": "^0.8.3", "eslint-loader": "^1.7.1", "eslint-plugin-import": "^2.7.0", "eslint-plugin-vue": "^4.0.0", "extract-text-webpack-plugin": "^3.0.0", "file-loader": "^1.1.4", "friendly-errors-webpack-plugin": "^1.6.1", "html-webpack-plugin": "^2.30.1", "jest": "^22.0.4", "jest-serializer-vue": "^0.3.0", "node-notifier": "^5.1.2", "optimize-css-assets-webpack-plugin": "^3.2.0", "ora": "^1.2.0", "portfinder": "^1.0.13", "postcss-import": "^11.0.0", "postcss-loader": "^2.0.8", "postcss-url": "^7.2.1", "rimraf": "^2.6.0", "semver": "^5.3.0", "shelljs": "^0.7.6", "uglifyjs-webpack-plugin": "^1.1.1", "url-loader": "^0.5.8", "vue-jest": "^1.0.2", "vue-loader": "^13.3.0", "vue-style-loader": "^3.0.1", "vue-template-compiler": "^2.5.2", "webpack": "^3.6.0", "webpack-bundle-analyzer": "^2.9.0", "webpack-dev-server": "^2.9.1", "webpack-merge": "^4.1.0" }, "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" }, "browserslist": ["> 1%", "last 2 versions", "not ie <= 8"] }
package.json
{
"scripts": {
"watch": "webpack --watch --progress --colors --config webpack.conf.js",
"dev": "webpack --progress --colors --config webpack.conf.js",
"prod": "NODE_ENV=production webpack -p --config webpack.conf.js",
},
}
bash
npm run watch
npm run dev
npm run prod
package-lock.json : 安装包后,自动生成。
作用: 会固化当前安装的每个软件包的版本,当运行 npm install时,npm 会使用这些确切的版本。
轻松地运行本地命令
无需安装的命令执行
npx cowsay "你好"
使用不同的 Node.js 版本运行代码
npx node@10 -v #v10.18.1
npx node@12 -v #v12.14.1
直接从 URL 运行任意代码片段
npx https://gist.github.com/zkat/4bc19503fe9e9309e2bfaa2c58074d32
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。