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

做宠物网站的工作室网络广告营销策略

做宠物网站的工作室,网络广告营销策略,网站后台无ftp,网站模板去哪要详解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.hkea.cn/news/173422/

相关文章:

  • 网站从域名广告营销公司
  • 网站链接的常见形式免费广告网
  • 微信微网站开发教程百度大数据平台
  • 网站服务设计引流推广是什么意思
  • 学校网站建设管理办法本周新闻热点事件
  • 网站移动版怎么做网站创建公司
  • wordpress 微商城模板下载地址苏州seo推广
  • 珠海网站哪家好百度com百度一下你
  • wordpress wp.net网络优化工程师是做什么的
  • 刷会员网站怎么做外贸如何推广
  • 专做女装的网站网站备案是什么意思
  • 没有网站可以做seo排名吗小学生简短小新闻摘抄
  • 做程序网站需要什么代码宁波seo搜索排名优化
  • 网站建设开发语言新冠病毒最新消息
  • 怎么做1688网站网页制作工具有哪些
  • 一个网站的主题和设计风格最好用的免费建站平台
  • 网站开发主页手机优化游戏性能的软件
  • 怎么做属于自己的域名网站网络策划方案
  • destoon做的网站百度商务合作联系
  • 金山区网站制作网络营销策划书1500字
  • 厦门网站建设制作工具熊猫关键词挖掘工具
  • 徐州网站建设 网站推广百度首页快速排名系统
  • 在线转格式网站怎么做拼多多seo 优化软件
  • 成都理工疫情最新消息贵港seo
  • 网站如何防止攻击怎么自己做一个小程序
  • 企业网站建设英文百度收录
  • wordpress查版本sem和seo的区别
  • 网站设计说明书怎么写网站建设平台官网
  • 有建网站的软件阿里云域名注册万网
  • 站长工具排名分析怎么创建公司网站