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

24小时网站建设建设信用卡分期购物网站

24小时网站建设,建设信用卡分期购物网站,上海网站建设不好,wordpress 本地搭建详解package.json和package-lockpackage.json和package-lock.json作用首先要明确一点,package.json不会自动生成,需要我们使用 npm init 创建。package-lock.json是自动生成的,我们使用 npm install 安装包后就会自动生成。在我们执行 npm in…

详解package.json和package-lock

package.json和package-lock.json作用

首先要明确一点,package.json不会自动生成,需要我们使用 npm init 创建。package-lock.json是自动生成的,我们使用 npm install 安装包后就会自动生成。

在我们执行 npm init 时会问几个基本问题,如包名称、版本号、作者信息、入口文件、仓库地址、关键字、描述、许可协议等,多数问题已经提供了默认值,你可以在问题后敲回车接受默认值,以下是 package.json常见字段解析 和 package-lock.json的dependencies:(通常我们不会关注package-lock.json的内容,所以这里也就不做赘述了,这里只讲一下其中 dependencies 属性)

/* package.json常见字段解析 */
{"name": "npm", // 项目名称"version": "1.0.0", // 该项目的版本 建议遵从semver版本规范"description": "", // 项目说明"main": "index.js", // 入口文件/*** 脚本配置文件 * 配置后可以通过 npm run 执行该脚本脚本文件* 对于常用的 start、test、stop、restart 等可以省略掉run,如:npm start;*/"scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"author": "", // 作者名/*** 开源协议* 字段用于指定软件的开源协议,开源协议表述了其他人获得代码后拥有的权利,可以对代码进行何种操作,何种操作又是被禁止的。常见的协议如下:* MIT :只要用户在项目副本中包含了版权声明和许可声明,他们就可以拿你的代码做任何想做的事情,你也无需承担任何责任。* Apache :类似于 MIT ,同时还包含了贡献者向用户提供专利授权相关的条款。* GPL :修改项目代码的用户再次分发源码或二进制代码时,必须公布他的相关修改。*/"license": "ISC",/*** 开发生成环境依赖* 通常是我们项目实际开发用到的一些库模块vue、vuex、vue-router、react、react-dom、axios等等;*/"dependencies": {"axios": "^1.2.1", // package的版本},/*** 开发环境依赖* 一些包在生成环境是不需要的,比如webpack、babel等* 我们可以通过 npm i package -D 只往开发依赖 devDependencies 中添加版本而不往 dependencies 开发生产依赖中添加*/"devDependencies": {},/*** 对等依赖* 也就是你依赖的一个包,它必须是以另外一个宿主包为前提的* 比如element-plus是依赖于vue3的, ant design是依赖于react、react-dom*/"peerDependencies": {}
}/* package-lock.json的dependencies */
"dependencies": { // 与package.json类似 就是开发生产依赖"axios": { // packageName"version": "1.2.1", // 版本// 该包远程仓库的地址"resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz", // 本地缓存地址 npm可以解析为本地路径 下文中的查找缓存就会通过这个字段w"integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==","requires": { // 当前包依赖的其他包及其版本"follow-redirects": "^1.15.0","form-data": "^4.0.0","proxy-from-env": "^1.1.0"}}
}

通过以上解析后这里给大家总结一下:

  • package.json的作用是记录当前项目所依赖模块的版本信息,更新模块时锁定模块的大版本号(版本号的第一位),默认为大版本也可以npm i xxx@x.x.x锁定版本,还有npm run的脚本,项目的基本信息等

  • package-lock.json文件会保存 node_modules 中所有包的信息(详细版本、下载地址、缓存地址)等,重新 npm install 的时候会通过记录的信息提示安装速度,如通过 integrity 查找本地缓存而不使用远程仓库

package-lock.json什么时候会变

  • 修改依赖位置,比如将部分包的位置从 dependencies 移动到 devDependencies 这种操作,虽然包未变,但是也会影响 package-lock.json,会将部分包的 dev 字段设置为 true。

  • 安装源 registry 不同,执行 npm install 时也会修改 package-lock.json。因为他是会记录我们的依赖包地址的。

  • 使用 npm install 添加或 npm uninstall 移除包的时

  • 更新某个包的版本的时

那些情况下package.json和package-lock.json里面的版本号一致

  • 当package.json里面不再使用最优版本,而是一个特定有效版本,也就是版本号前不带修饰符

  • 通过 npm install xxx@x.x.x 固定版本号安装

  • package.json的package 与 package-lock.json 的版本相同

semver版本规范

  • npm的包通常需要遵从semver版本规范:

  • semver: https://semver.org/lang/zh-CN/

  • npm semver: https://docs.npmjs.com/misc/semver

  • semver版本规范是X.Y.Z:

  • X主版本号 (major) :当你做了不兼容的API修改(可能不兼容之前的版本);

  • Y次版本号 (minor) :当你做了向下兼容的功能性新增(新功能增加,俱是兼容之前的版本);

  • Z修订号 (patch):当你做了向下兼容的问题修正(没有新功能,修复了之前版本的bug) ;

  • ^和~的区别:

  • x.y.z:表示一个明确的版本号;

  • ^x.y.z:表示x是保持不变的,y和z永远安装最新的版本;

  • ~x.y.z:表示x和y保持不变的,z永远安装最新的版本;

其他包管理工具也会生成类似package-lock的文件如:yarn为:yarn.lock、pnpm为:pnpm-lock.yaml,但其实他们的作用都是大同小异的

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

相关文章:

  • 网站搭建在线支付东营建设信息网最新消息
  • 苏州网站开发公司兴田德润在那里专业足球网站开发
  • 湛江网站建设策划方案国人原创wordpress主题
  • 网站建设佰首选金手指三做的物流网站
  • 在上海做家教的网站宁波网站关键词推广
  • 网站asp怎么没有菜单栏网站建设海报设计
  • 深圳深圳网站建设公司东莞外贸网站制作
  • 天一建设网站青岛代理记账公司有哪些
  • 如何创建网站平台的详细步骤郴州网站排名优化
  • 安徽网站开发与维护专业荆门网站seo
  • 潮州建设网站核心关键词是什么意思
  • 丽水市住房和城建建设局网站开发一个app软件的开发费用
  • 如何在网站后台添加商品网络产品服务的提供者不得设置
  • 做特殊任务的网站举三个成功的新媒体营销案例
  • 如何面试网站开发可以做外链视频的网站
  • 廊坊网站建设佛山厂商网站收录很慢
  • 建设邮箱网站东莞网站推广建设
  • 北京设计网站工商企业查询网
  • 网站开发专员网站集群建设必要性
  • 视频投票网站怎么做的购物网站建设策划报告
  • 网站 代备案如皋网站设计
  • 淘宝购物网站的建设网页小游戏怎么下载
  • 做外贸到那个网站国内新闻最新消息10条简短2022
  • 设计学网站怎么查询域名是否备案
  • html5韩国网站模板装修案例介绍文案
  • 淮安住房与城乡建设部网站沐风 wordpress 主题
  • 做卷皮网类似网站宁波人流多少钱
  • 建站公司外包贵州做网站怎么推广
  • 互动型网站提高网站订单转化率
  • 校园微网站建设方案ppt模板下载工程建设云小程序