NPM关于package.json每次发布的时候都更新导致的问题
2018-06-25 15:57
666 查看
先来看看package.json中
它们都指向一个对象。该对象的各个成员,分别由模块名和对应的版本要求组成,表示依赖的模块及其版本范围。
package.json 文件里面的 devDependencies 和 dependencies 对象有什么区别呢?
devDependencies 里面的插件只用于开发环境,不用于生产环境,而 dependencies 是需要发布到生产环境的。
比如我们写一个项目要依赖于jQuery,没有这个包的依赖运行就会报错,这时候就把这个依赖写入dependencies ;
而我们使用的一些构建工具比如glup、webpack这些只是在开发中使用的包,上线以后就和他们没关系了,所以将它写入devDependencies。
指定版本:比如
波浪号(tilde)+指定版本:比如
插入号(caret)+指定版本:比如ˆ1.2.2,表示安装1.x.x的最新版本(不低于1.2.2),但是不安装2.x.x,也就是说安装时不改变大版本号。需要注意的是,如果大版本号为0,则插入号的行为与波浪号相同,这是因为此时处于开发阶段,即使是次要版本号变动,也可能带来程序的不兼容。
latest:安装最新版本。
由于npm默认的都是^符号,导致每次项目构建,一些框架中的不规范发布,导致了很多问题。
现就将所有Package.json指定版本。即1.22这样。
dependencies字段指定了项目运行所依赖的模块,
devDependencies指定项目开发所需要的模块。
它们都指向一个对象。该对象的各个成员,分别由模块名和对应的版本要求组成,表示依赖的模块及其版本范围。
package.json 文件里面的 devDependencies 和 dependencies 对象有什么区别呢?
devDependencies 里面的插件只用于开发环境,不用于生产环境,而 dependencies 是需要发布到生产环境的。
比如我们写一个项目要依赖于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默认的都是^符号,导致每次项目构建,一些框架中的不规范发布,导致了很多问题。
现就将所有Package.json指定版本。即1.22这样。
相关文章推荐
- NodeJS学习(四) package.json版本更新问题
- 关于使用AJAX获取数据时,由于IE缓存而导致数据不更新,串数据的问题!
- 关于更新发布CSS和JS文件的缓存问题
- 关于jxl在更新excel的时候的性能问题
- Mac os下换行符导致发布到npm里的命令行模块不能使用问题
- list转json的时候,关于date转换的问题
- 【VUE】关于VUE环境配置问题导致IIS发布之后Create与Mounted方法的执行问题
- 关于更新发布CSS和JS文件的缓存问题
- 关于centos更新插件fastestmirror 导致更新慢的问题的解决。
- 关于Gson转换Json格式导致“=”乱码的问题!
- 关于TabHost切换的时候刷新(更新)页面的问题
- vue饿了么学习笔记(3)关于response.json() 的更新问题
- npm更新模块并同步到package.json中
- thinkcmf5更新模板代码分析,解决模板配置json出错导致数据库保存的配置项内容丢失问题
- 关于更新发布css和js文件的缓存问题
- 关于Android 2.2与2.3 adb.exe版本更新问题(在安装android——SDK时候找不到相应的 /tools/adb.exe! )
- EF延迟加载机制导致的更新数据的时候有的更新有的没更新问题的解决
- 关于Cocos2d-x发布游戏的时候遇到的问题和解决
- 关于更新发布CSS和JS文件的缓存问题