文档章节

NODE.JS模块依赖及版本号

cor7ona
 cor7ona
发布于 2015/12/08 19:49
字数 461
阅读 20
收藏 0
点赞 0
评论 0

摘要:


Node.js最重要的一个文件就是package.json,其中的配置参数决定了功能。例如下面就是一个例子


{

  "name": "test",

  "version": "1.0.0",

  "description": "test",

  "main": "main.js",

  "keywords": [

    "test"

  ],

  "author": "wade",

  "license": "MIT",

  "dependencies": {

    "express": "^4.10.1"

  },

  "devDependencies": {

    "jslint": "^0.6.5"

  }

}

dependencies与devDependencies:


一个node package有两种依赖,一种是dependencies,另一种是devDependencies,其中前者依赖的项是正常运行该包时所需要的依赖项,而后者则是开发的时候需要的依赖项,像一些进行单元测试之类的包。简单来记就是下面的


“dependencies”: {}     //生产环境


“devDependencies”: {}//开发环境


在package.json所在目录执行npm install的时候,devDependencies里面的模块也会被安装的。如果我们只想安装dependencies里面的包,可以执行


npm install –production


如果只安装devDependencies,可以执行


npm install –dev


同理,使用npm install node_module –save自动更新dependencies字段值,使用npm install node_module –save-dev自动更新devDependencies字段值。


版本号:


每一个模块后面对应的就是他的版本号,如”^4.10.1″。下面是几个版本的表达式

表达式 版本范围

>=1.2.7 大于等于1.2.7

>=1.2.7 <1.3.0 1.2.7,1.2.8,1.2.9

1.2.3 – 2.3.4 >=1.2.3 <=2.3.4

1.2 – 2.3.4 >=1.2.0 <=2.3.4

1.2.3 – 2.3 >=1.2.3 <2.4.0

1.2.3 – 2 >=1.2.3 <3.0.0

* >=0.0.0

1.x(等价于1.X) >=1.0.0 <2.0.0

1.2.x >=1.2.0 <1.3.0

“”(等价于*) >=0.0.0

1(等价于1.x.x) >=1.0.0 <2.0.0

1.2(等价于1.2.x) >=1.2.0 <1.3.0

~1.2.3(>=1.2.3 <1.(2+1).0) >=1.2.3 <1.3.0

~1.2(>=1.2.0 <1.(2+1).0) >=1.2.0 <1.3.0

~1(>=1.0.0 <(1+1).0.0) >=1.0.0 <2.0.0

~0.2.3(>=0.2.3 <0.(2+1).0) >=0.2.3 <0.3.0

~0.2(>=0.2.0 <0.(2+1).0) >=0.2.0 <0.3.0

~0(>=0.0.0 <(0+1).0.0) >=0.0.0 <1.0.0

~1.2.3-beta.2 >=1.2.3-beta.2 <1.3.0

^1.2.3 >=1.2.3 <2.0.0

^0.2.3 >=0.2.3 <0.3.0

^0.0.3 >=0.0.3 <0.0.4

^1.2.3-beta.2 >=1.2.3-beta.2 <2.0.0

^0.0.3-beta >=0.0.3-beta <0.0.4

^1.2.x >=1.2.0 <2.0.0

^0.0.x >=0.0.0 <0.1.0

^0.0 >=0.0.0 <0.1.0

^1.x >=1.0.0 <2.0.0

^0.x >=0.0.0 <1.0.0

参考文献:


http://stackoverflow.com/questions/22343224/difference-between-tilde-and-caret-in-package-json


https://www.npmjs.org/doc/misc/npm-config.html#production


本文转载自:http://www.cnphp6.com/archives/64130?utm_source=tuicool&utm_medium=referral

共有 人打赏支持
cor7ona
粉丝 2
博文 13
码字总数 6501
作品 0
青浦
程序员
NPM

官方网站,package.json guide: https://docs.npmjs.com/files/package.json ===== 以下转自; http://www.runoob.com/nodejs/nodejs-npm.html NPM 使用介绍 NPM是随同NodeJS一起安装的包管......

Faye_Cai ⋅ 2016/09/22 ⋅ 0

【Angular4学习】npm 安装参数中的 --save-dev 含义 + package.json的依赖关系说明

关于 - -save-dev参数 有些 node.js 的包安装的时候都加上 –save-dev 参数,这参数是做什么的,加和不加有什么区别呢? 解释 当你为你的模块安装一个依赖模块时,正常情况下你得先安装他们(...

yyzzhc999 ⋅ 04/26 ⋅ 0

如何使用 npm 管理 NodeJS 包

前一段时间,我们发布了一个使用 pip 管理 Python 包的指南。今天,我们将讨论如何使用 npm 管理 NodeJS 包。npm 是最大的软件注册中心,包含 600,000 多个包。每天,世界各地的开发人员通过...

作者: Sk ⋅ 05/07 ⋅ 0

学习 Node.js 笔记(一)

学习一种语言并不难, 学习这种语言背后的生态环境可就不那么容易了. 虽然我用 javascript 也不少时间了, 但实际关注的大多是(数学)算法, 较少关注 js 的其它部分, 而现在为了学习别的开源软件...

刘军兴 ⋅ 2015/11/26 ⋅ 0

手摸手教你搭建vue-cli脚手架-详细步骤图文解析[vue入门]

写在前面: 使用 vue-cli 可以快速创建 vue 项目,vue-cli很好用,但是在最初搭建环境安装vue-cli及相关内容的时候,对一些人来说是很头疼的一件事情,本人在搭建vue-cli的项目环境的时候也是...

阿K1225 ⋅ 05/22 ⋅ 0

自动更新 Swagger 接口数据到 YApi 平台

本篇教程主要介绍如何自动更新 数据到 ,我们假设你已经能够熟练使用 YApi接口管理平台。 配置环境 yapi-cli 依赖 Node.js , 请安装不低于 7.6 版本的 Node.js,如果你的机器已经安装了 yapi...

suxiaoxin ⋅ 05/11 ⋅ 0

魔法堂:NPM入了个门

一、前言                              NPM作为Node的模块管理和发布工具,作用与Ruby的gem、Python的pypl或setuptools、PHP的pear和.Net的Nuget一样。在当前...

小麋鹿666 ⋅ 2017/01/31 ⋅ 0

Linux CentOS6系统安装最新版本Node.js环境及相关文件配置

Node.js,当前应用非常广泛的Javascript运行环境,采用C++编写的,目前应用较多的用于WEB应用中,执行效率还是非常高的,虽然老左不从业程序的开发,但是有些时候在玩VPS的时候还是会遇到使用...

bengozhong ⋅ 2016/02/20 ⋅ 0

NPM基础使用

NPM npm是javascript的包管理器,能解决NodeJS部署上的很多问题,本文对npm的基本命令做一些记录及介绍。 原文链接 npm是随node一起安装的,node下载地址。 npm特点: 可以从npm服务器上下载...

bestvist ⋅ 2017/12/19 ⋅ 0

vue.js在windows本地下搭建环境和创建项目。

Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方...

皇冠小丑 ⋅ 2016/12/26 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

20.zip压缩 tar打包 打包并压缩

6月25日任务 6.5 zip压缩工具 6.6 tar打包 6.7 打包并压缩 6.5 zip压缩工具: zip支持压缩目录 zip压缩完之后原来的文件不删除 不同的文件内容其实压缩的效果不一样 文件内有很多重复的用xz压...

王鑫linux ⋅ 10分钟前 ⋅ 0

double类型数据保留四位小数的另一种思路

来源:透析公式处理,有时候数据有很长的小数位,有的时候由在四位以内,如果用一般的处理方法,那么不足四位的小树会补充0到第四位,这样子有点画蛇添足的感觉,不太好看。所以要根据小数的...

young_chen ⋅ 17分钟前 ⋅ 0

Python 优化 回溯下降算法

使用sympy构造表达式,实现回溯下降算法 画出函数图像,先使用暴力搜索,找到最小值约为2.5左右 然后选定初始点,开始进行回溯搜索,下降方向为负梯度方向 下降的误差与步数大致呈现下面的状...

阿豪boy ⋅ 21分钟前 ⋅ 0

Django配置163邮箱出现 authentication failed(535)错误解决方法

最近用Django写某网站,当配置163邮箱设置完成后,出现535错误即:smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed') Django初始配置邮箱设置 EMAIL_HOST = "smtp.1...

陈墨轩_CJX ⋅ 23分钟前 ⋅ 0

用接口模拟可伸缩枚举(34)

1、枚举的可伸缩性最后证明都不是什么好点子 扩展类型的元素是基本类型实例,基本类型的实例却不是扩展类型的元素,很混乱 目前还没有很好的方法来枚举基本类型的所有元素,及其扩展 可伸缩性...

职业搬砖20年 ⋅ 26分钟前 ⋅ 0

Ubuntu18.04 IDEA快捷键无法使用

IDEA默认的回退到上一视图的快捷键是Ctrl + Alt + Left,在ubuntu中这个快捷键被占用了,在16.04中可以在界面中取消这个快捷键,但是18.04就看不到了,可以使用以下命令解决 gsettings set ...

Iceberg_XTY ⋅ 31分钟前 ⋅ 0

如何解决s权限位引发postfix及crontab异常

一、问题现象 业务反馈某台应用服务器,普通用户使用mutt程序发送邮件时,提示“postdrop warning: mail_queue_enter: create file maildrop/713410.6065: Permission denied”,而且普通用法...

问题终结者 ⋅ 43分钟前 ⋅ 0

Unable to load database on disk

由于磁盘空间满了以后,导致zookeeper异常退出,清理磁盘空间后,zk启动报错,信息如下: 2018-06-25 17:18:46,904 INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig: Reading co...

刀锋 ⋅ 今天 ⋅ 0

css3 box-sizing:border-box 实现div一行多列

<!DOCTYPE html><html><head><style> div.container{ background:green; padding:10px 10px;}div.box{box-sizing:border-box;-moz-box-sizing:border-box; /* Fir......

qimh ⋅ 今天 ⋅ 0

Homebrew简介和基本使用

一、Homebrew是什么 Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径...

说回答 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部