当前位置: 首页 > news >正文

上海微网站开发校园网站建设情况通报

上海微网站开发,校园网站建设情况通报,装修公司怎样拉客户,建网站 找个人1.npm 是Node的开放式模块登记和管理系统,是Node.js包的标准发布平台,用于Node.js包的发布、传播、依赖控制 2.今天主要说的是package-lock.json在团队协作中的作用(yarn.lock也是一样), 其实在npm5之后和yarn的区别已经很小了 正常项目用哪个都行, 几乎…

1.npm 是Node的开放式模块登记和管理系统,是Node.js包的标准发布平台,用于Node.js包的发布、传播、依赖控制

2.今天主要说的是package-lock.json在团队协作中的作用(yarn.lock也是一样), 其实在npm@5之后和yarn的区别已经很小了
正常项目用哪个都行, 几乎可以在每个阶段无缝切换

3. package-lock.json 是否应该提交到版本库, 无论是yarn官方还是npm官方都认为应该提交到版本库, 用来保证团队每个开发者的依赖一致性,那么package-lock.json是如何保证团队依赖一致性的, 下面会说明

4. 三个常见的npm语义化版本

  2.1.0   必须是2.1.0^2.1.0   限定大版本,后面更新不能超过主版本2~2.1.0   限定前两个版本,后面更新不能超过主版本2和次版本1

5.我初始化项目中package.json依赖信息如下

  "devDependencies": {"sass": "^1.68.4"},

执行npm install
在我的仓库下生成了node_modulespackage-lock.json
对于项目初始化我需要用到sass, 我的本意是安装主版本号为1的sass依赖, 后两个版本尽可能新的给我安装, 此时npm源上的sass包最新的版本就是1.68.4, 那么我安转的sass肯定是1.68.4, 生成package-lock.json信息如下

"sass": {"version": "1.68.4","resolved": "https://registry.npmmirror.com/sass/-/sass-1.68.4.tgz","integrity": "sha512-X99+a2iGdXkdWn1akFPs0ZmelUzyAQfvqYc2P/MPTrJRuIRoTffGzT9W9nFqG00S+c8hXzVmgxhUuHFdrwxkhQ==","requires": {"chokidar": ">=3.0.0 <4.0.0","immutable": "^4.0.0","source-map-js": ">=0.6.2 <2.0.0"}}

6.锁定后续团队成员安装的依赖版本
之后只要我把package-lock.json提交到版本库, 下一位团队成员拉取代码后, 执行npm install那么他安装的sass依赖版本就是已经被我锁定的1.68.4
哪怕他拉取的时候sass的作者已经把1.69.4发布到npm, 他下载的依赖依然和我初始化项目下载的依赖一样, 因为我锁定了依赖版本, 这有利于团队成员开发依赖一致性
反之, 如果我没有把package-lock.json提交到版本库, 那么后续拉取代码安装依赖的团队成员就会根据package.json的版本规则去尽可能新的安装依赖, 这可能导致一些意想不到的问题, 因为大家的依赖版本不一致了

7.有了package-lock.json文件, 我们应该如何更新依赖
根据上面说的难道以后我们都不能更新依赖, 使用包的新特性了吗? 当然不是, 不过更新依赖应该规范起来
这里提供一个流程

1.某位团队成员 使用 npm update 更新依赖(或者直接修改package.json里面的依赖版本), 如果npm源有新的符合语义化版本的依赖可用, 那么这位成员的package-lock.json肯定会变化,
++
tip: 如果使用npm update命令更新依赖, 最后找到更新后的依赖的版本, 你可以手动修改到package.json, 因为package.json只能手动操作, 这样做的目的是方便及时方便的查看依赖版本, 比如1.68.4更新到了1.69.4 你应该把package.json里面的^1.68.4手动改为^1.69.4
(这一步看个人喜好, 不是那么重要还可能会手动出错~~~)
++
2.这位成员把package-lock.jsonpackage.json提交到仓库
++
3.通知其它成员, 拉取package-lock.jsonpackage.json进行npm install更新各自的依赖, 保持团队依赖一致性.

8.本地隐藏锁文件 官方叫法: Hidden Lockfiles

原话翻译

为了避免node_modules重复处理文件夹,从npm v7 开始,npm 使用node_modules/.package-lock.json. node_modules它包含有关树的信息,并且在满足以下条件的情况下用于代替读取整个层次结构:

这个node_modules/.package-lock.json文件和版本的锁定关系测试如下
有一种情况:
你把本地的package-lock.json删掉, 但是保存着node_modules, 那么你在npm install的时候node_modules/.package-lock.json会起到和package-lock.json一样的作用
这种情况直接不用去注意, 因为没人会把node_modules提到代码仓库而不把package-lock.json提上去, 这TM~
fun:-)

http://www.yayakq.cn/news/658446/

相关文章:

  • 武威网站制作公司电话多少所见即所得的网站开发软件
  • 企业网站制作服务器做网站全程指导
  • 做网站费用记入什么会计科目广西建设网官网住房和城乡厅官网
  • 百度医疗网站建设wordpress 分页代码
  • 营销型网站建设主要教学内容wordpress客户表单数据库
  • 网站建设推广需要多少钱西部数码网站助手4.0
  • 判断网站做的好坏匿名网站建设
  • 推广单页网站免费制作加盟网站有哪些
  • 网站开发招标书徐州设计公司有哪些
  • 免费wap自助建站网站网站插件代码下载
  • 杭州制造业企业做网站wordpress模版如何汉化
  • 外贸网站设计制作app试玩网站制作
  • 做k线图网站多语言网站 推广
  • 自己做的网站很慢建个短视频网站
  • 织梦茶叶网站模板河南网站建设培训
  • 制作网站的公司不干了维普网
  • 外贸型网站方案网页设计公司的调研
  • 大连市公众平台网站江苏省建设厅网站
  • 网站推广策划书 精品网站域没到期不能续费吗
  • 一加手机官网网站wordpress做网站优点
  • 阳朔网站建设公司微信小程序 连接网站
  • 湘潭本地的网站建设公司网络公司起名大全最新
  • html网站源码下载海淀公司网站建设方案
  • 建设软件资源网站站长之家 seo查询
  • 做的好的奥运会网站网站域名攻击
  • 湛江网站建设咨询织梦 音乐网站
  • 山东网络建站推广个性化定制软件
  • 网站ip过万网站后缀有什么区别
  • 网站建设 网页wordpress文章管理模板下载
  • 做pc端网站用什么框架中铁十六局门户网