linux cpu占用率如何看
251
2022-09-20
NPM学习笔记
NPM学习笔记
NPM 是什么
npm(“Node 包管理器”)是 JavaScript 运行时 Node.js 的默认程序包管理器。
npm 由两个主要部分组成:
用于发布和下载程序包的 CLI(命令行界面)工具托管 JavaScript 程序包的在线存储库
package.json
每个 JavaScript 项目(无论是 Node.js 还是浏览器应用程序)都可以被当作 npm 软件包,并且通过 package.json 来描述项目和软件包信息。
当运行 npm init 初始化 JavaScript/Node.js 项目时,将生成 package.json 文件,文件内的内容(基本元数据)由开发人员提供:
name:JavaScript 项目或库的名称。version:项目的版本。通常,在应用程序开发中,由于没有必要对开源库进行版本控制,因此经常忽略这一块。但是,仍可以用它来定义版本。description:项目的描述。license:项目的许可证。
npm scripts
package.json 还支持一个 scripts 属性,可以把它当作在项目本地运行的命令行工具。
{ "scripts": { "build": "tsc", "format": "prettier --write **/*.ts", "format-check": "prettier --check **/*.ts", "lint": "eslint src/**/*.ts", "pack": "ncc build", "test": "jest", "all": "npm run build && npm run format && npm run lint && npm run pack && npm test" }}
eslint,prettier,ncc,jest 不是安装为全局可执行文件,而是安装在项目本地的 node_modules/.bin/ 中
dependencies vs devDependencies
这两个以键值对象的形式出现,其中 npm 库的名称为键,其语义格式版本为值。
{ "dependencies": { "@actions/core": "^1.2.3", "@actions/github": "^2.1.1" }, "devDependencies": { "@types/jest": "^25.1.4", "@types/node": "^13.9.0", "@typescript-eslint/parser": "^2.22.0", "@zeit/ncc": "^0.21.1", "eslint": "^6.8.0", "eslint-plugin-github": "^3.4.1", "eslint-plugin-jest": "^23.8.2", "jest": "^25.1.0", "jest-circus": "^25.1.0", "js-yaml": "^3.13.1", "prettier": "^1.19.1", "ts-jest": "^25.2.1", "typescript": "^3.8.3" }}
这些依赖通过带有 --save 或 --save-dev 标志的 npm install 命令安装。 它们分别用于生产和开发/测试环境。
^:表示最新的次版本,例如,^1.0.4 可能会安装主版本系列1 的最新次版本1.3.0。〜:表示最新的补丁程序版本,与^ 类似,〜1.0.4 可能会安装次版本系列1.0 的最新次版本1.0.7。以上版本方法都是major.minor.patch 模型
major.minor.patch这三部分分别表示的含义。
1、major major表示当前MyBatis的主版本号,它的变化通常意味着MyBatis的巨大的变化,MyBatis的前世是ibatis,是在3.0版本发布之后才更名的,之前一直叫ibatis。
2、minor minor称之为MyBatis的次版本号,它通常只反映了一些较大的更改,比如MyBatis的API的增加等等,但是这些更改并不影响与旧版本源代码和二进制代码之间的兼容性。
3、patch patch通常称之为补丁版本,通常情况下如果只是对MyBatis内部函数的修改而不影响API接口的话都会导致patch的变化。
package-lock.json
该文件描述了 npm JavaScript 项目中使用的依赖项的确切版本。如果 package.json 是通用的描述性标签,则 package-lock.json 是成分表。
npm install
这是现在我们开发 JavaScript/Node.js 应用程序时最常用的命令。
默认情况下,npm install
安装不同版本
install 命令总是安装模块的最新版本,如果要安装模块的特定版本,可以在模块名后面加上@和版本号。
npm init 初始化 package.json 文件
用来初始化生成package.json文件。在这个过程中会向用户提问一系列问题,如果你觉得不用修改默认配置,一路回车就可以了。
如果使用了-f(代表force)、-y(代表yes),则跳过提问阶段,直接生成一个新的package.json文件。
避免系统权限
默认情况下,Npm全局模块都安装在系统目录(比如/usr/local/lib/),普通用户没有写入权限,需要用到sudo命令。这不是很方便,我们可以在没有root权限的情况下,安装全局模块。
首先,在主目录下新建配置文件.npmrc,然后在该文件中将prefix变量定义到主目录下面。
prefix = /home/yourUsername/npm
然后在主目录下新建npm子目录
$ mkdir ~/npm
此后,全局安装的模块都会安装在这个子目录中,npm也会到~/npm/bin目录去寻找命令。
最后,将这个路径在.bash_profile文件(或.bashrc文件)中加入PATH变量。
export PATH=~/npm/bin:$PATH
npm uninstall
npm uninstall命令,卸载已安装的模块
$ npm uninstall [package name]# 卸载全局模块$ npm uninstall [package name] -global
npm run
npm 不仅可以用于模块管理,还可以用于执行脚本。package.json 文件有一个 scripts 字段,可以用于指定脚本命令,供npm直接调用。
npm run 命令会自动在环境变量 $PATH 添加 node_modules/.bin 目录,所以 scripts 字段里面调用命令时不用加上路径,这就避免了全局安装 NPM 模块。
npm run 如果不加任何参数,直接运行,会列出 package.json 里面所有可以执行的脚本命令。
yarn
初始化一个新项目
yarn init
添加依赖包
yarn add [package]yarn add [package]@[version]yarn add [package]@[tag]
将依赖项添加到不同依赖项类别中
分别添加到 devDependencies、peerDependencies 和 optionalDependencies 类别中:
yarn add [package] --devyarn add [package] --peeryarn add [package] --optional
升级依赖包
yarn upgrade [package]yarn upgrade [package]@[version]yarn upgrade [package]@[tag]
移除依赖包
yarn remove [package]
安装项目的全部依赖
yarn
或者
yarn install
Yarn和npm命令对比
npm | yarn |
npm install | yarn |
npm install react --save | yarn add react |
npm uninstall react --save | yarn remove react |
npm install react --save-dev | yarn add react --dev |
npm update --save | yarn upgrade |
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~