NPM关于package.json每次发布的时候都更新致使的问题

先来看看package.json中dependencies字段指定了项目运行所依赖的模块,devDependencies指定项目开发所须要的模块。webpack

它们都指向一个对象。该对象的各个成员,分别由模块名和对应的版本要求组成,表示依赖的模块及其版本范围。web

 package.json 文件里面的 devDependencies  和 dependencies 对象有什么区别呢?npm

devDependencies  里面的插件只用于开发环境,不用于生产环境,而 dependencies  是须要发布到生产环境的。json

好比咱们写一个项目要依赖于jQuery,没有这个包的依赖运行就会报错,这时候就把这个依赖写入dependencies ;框架

而咱们使用的一些构建工具好比glup、webpack这些只是在开发中使用的包,上线之后就和他们不要紧了,因此将它写入devDependencies。工具

  • 指定版本:好比1.2.2,遵循“大版本.次要版本.小版本”的格式规定,安装时只安装指定版本。
  • 波浪号(tilde)+指定版本:好比~1.2.2,表示安装1.2.x的最新版本(不低于1.2.2),可是不安装1.3.x,也就是说安装时不改变大版本号和次要版本号。
  • 插入号(caret)+指定版本:好比ˆ1.2.2,表示安装1.x.x的最新版本(不低于1.2.2),可是不安装2.x.x,也就是说安装时不改变大版本号。须要注意的是,若是大版本号为0,则插入号的行为与波浪号相同,这是由于此时处于开发阶段,即便是次要版本号变更,也可能带来程序的不兼容。
  • latest:安装最新版本。

 因为npm默认的都是^符号,致使每次项目构建,一些框架中的不规范发布,致使了不少问题。spa

现就将全部Package.json指定版本。即1.22这样。插件

相关文章
相关标签/搜索