NPM、NodeJS关系,package.json是什么

2019-11-29  本文已影响0人  维仔_411d

NodeJS

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine

    /usr/local/lib/node/bar.js (优先去NODE_PATH中找,npm get prefix 可查看NODE_PATH)
    /home/user/projects/node_modules/bar.js
    /home/user/node_modules/bar.js
    /home/node_modules/bar.js
    /node_modules/bar.js

NPM

NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:[3]

npm install <模块名>@<version>
version可以是具体版本号,也可以是版本号范围(1.1.x),或latest(表示最新版本)等tag文字,

命令 参数 释义
npm install <模块名> 安装在命令执行当前目录下的 node_modules目录(通过require引入的包需要安装在本地node_modules目录)
<模块名> --save 模块名和版本信息保存在package.json的dependencies节中
<模块名> --save-dev 模块名和版本信息保存在package.json的devDependencies节中
npm install <模块名> -g 安装在node的安装目录(where node)
npm install 按照package.json中的信息安装模块(devDependencies和dependencies中的都安装)
npm insatll --production 按照package.json中的信息安装模块(不安装devDependencies中的信息,安装dependencies中的模块)

package.json

npm托管的项目,目录下存在package.json,用于定义包的属性
name、version、main(入口)、scripts(在此目录下执行npm run 脚本名 执行的内容)
tips:[4]

依赖的模块的版本号前尝有波浪号(~)和插入符号(^),以1.2.2版本为例:
~1.2.2:大版本和次要版本不变,安装1.2.x 的最新版本,版本号不低于1.2.2
^1.2.2:大版本不变,安装1.x.x 的最新版本,版本号不低于1.2.2。
若大版本号是0,插入符号与波浪号意义相同,大版本和次要版本都不变

参考文章


  1. CommonJS规范

  2. require() 源码解读

  3. NPM 使用介绍

  4. package.json

上一篇 下一篇

猜你喜欢

热点阅读