大前端快闪:package.json文件知多少?

news/2024/7/19 13:36:17 标签: java, vue, js, javascript, nodejs
js_content">

ab62077f14440b2c1654cd74fe8078f6.gif

最近在公司某项目参与了一些前端工作,作为后端抠脚大汉,改点前端细节磕磕绊绊,改点大前端、工程化、HTTP交互倒也还能做到柳暗花明

于是打算用后端程序猿的视角记录一些{大前端}的知识快闪,也算是帮助读者构建完整的全栈技能体系。

快闪一:package.json文件知多少

如果你使用了nodejs、npm项目、Angular项目等,你都会用到package.json文件,package.json文件是项目的清单文件,package.json在react项目开发和部署阶段扮演了重要角色。

Package.json = 项目元信息+ 依赖的组件版本+ 脚本

请看下面的package.json示例文件:

{
  "name": "first-react-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.14.1",
    "@testing-library/react": "^11.2.7",
    "@testing-library/user-event": "^12.8.3",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-scripts": "4.0.3",
    "web-vitals": "^1.1.2"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

庖丁解牛,深入分析。

f289aa571886b8a763d3ceaefa3b1804.gif

Name:react项目的名称

需要满足以下约定:
① name 应使用小写
② name应该少于214字符
③ 可以使用- 或者_

Version: 当前项目的版本,需要满足以下约定
x.x.x - major.minor.patches

Private: 这是一个重要的属性,主要用于防止私有代码库的意外发布。如果为true,则不会发布到公开的npm生态系统。

Dependencies:包含一系列的node module + 生产环境依赖的版本,上面的例子中,我们需要以下版本的依赖:

"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",

react版本:^17.0.2,意味着npm将安装与“17.x.x”匹配的最新版本。

Scripts: 包含常见的[react命令脚本]的别名。

"scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  }

npm start将会执行 react-scripts start

Browserlist: 这个属性用于在不同的前端工具之间共享目标浏览器和node.js版本。

eslintconfig:该属性包括Create React App使用的可共享ESLint配置。

devDependeties: 这个属性不在上面的示例代码中,但它非常重要,因此还是要啰嗦它:这个属性列出了开发和测试所需的包。

以上是package.json文件中最重要的几个属性,下面啰嗦一下版本语法:x.x.x:  major.minor.patches

版本语法中有些特殊符号:

1. ~: Update patch release only. Eg. If you set ^17.0.2 then 17.0.3 will be ok but 18.0.2 will not work.2. ^: Can update patch + minor. Not major version3. *:  Can update all three major + minor + patches versions4.  >: Higher version than specify a version.5. >=: Equal and Higher than specify a version6. <: Less than specifying a version7. <=: Less or equal to specify a version

6799d9b358e1672b611660a435ba1963.png

这就是快闪一:package.json知多少 的全部,现在是不是对于package.json文件的作用有了更深刻的认识了c5db8cfc58f2f96e63027dcb9f2dc9a5.png

 性感豹纹

a96b06a13463f48d20ecd33f38fa7c04.gif 鹅厂二面,Nginx回忆录

8ef204aa9ceba669bbb94e03d6114efe.gif 前后端分离,如何在前端项目中动态插入后端API基地址?(in docker)

08701b77b014134e9f9254319ab225ee.gif 前端镜像打包这么慢,你该反省一下

7d7fe9356fb631450b98878ba999d229.gif

 谁说docker-compose不能水平扩展容器、服务多实例?

77f3781b8a2e8e8d90037ac5d5a60ebf.gif

 面试官:单点登录你搞过吗?

8dec56fb3517bb4b3ec0fceed37e4685.gif

 难缠的布隆过滤器,这次终于通透了

本文内容和制图均为原创,文章永久更新地址请参阅左下角原文,老鸟轻喷,菜鸟互啄。


http://www.niftyadmin.cn/n/1864473.html

相关文章

大前端快闪二:react开发模式 一键启动多个服务

最近全权负责了一个前后端分离的web项目&#xff0c;前端使用create-react-app[1], 后端使用golang做的api服务。npx create-react-app my-app cd my-app npm start歘歘歘&#xff0c;就搭建了一个react前端项目。前端老鸟都知道npm start或yarn start以开发模式启动react App&…

前端快闪三:多环境灵活配置react

大前端快闪&#xff1a;package.json文件知多少&#xff1f;大前端快闪二&#xff1a;react开发模式 一键启动多个服务你已经使用Create React App[1] 脚手架搭建了React应用&#xff0c;现在该部署了。一般会使用npm run build或者yarn build构建出静态资源&#xff0c; 由web…

这次使用一个最舒服的姿势插入HttpClient拦截器技能点

码甲哥继续在同程艺龙写一点大前端&#xff0c;今天我们来了解一下如何拦截axios请求/响应&#xff1f;这次我们举一反三&#xff0c;用一个最舒适的姿势插入这个技能点。本文阅读耗时5 minute&#xff0c;行文耗时5 Days。axios是一个基于 promise 的网络请求库&#xff0c;可…

Google Latitude 试用手记

上周五&#xff0c;Google 发布 了一款备受期待的位置跟踪服务&#xff1a;Latitude 。该服务使用智能手机&#xff08;如 Google Android, BlackBerry, Windows Mobile&#xff09;内置的 GPS 将你当前位置定位到地图以向朋友们分享。Robert Strohmeyer 在 PC World 撰文分享了…

SignalR在React/Go技术栈的实践

哼哧哼哧半年&#xff0c;优化改进了一个运维开发web平台。本文记录SignalR在react/golang 技术栈的生产小实践。01背景有个前后端分离的运维开发web平台&#xff0c; 后端会间隔5分钟同步一次数据&#xff0c;现在需要将最新一次同步的时间推送到web前端。说到[web服务端推送]…

SingnalR 开发到生产部署闭坑指南

前天倒腾了一份[SignalR在react/go技术栈的实践01SignalR默认要协商传输方式SignalR 默认要求协商传输方式[1]不管是.NET客户端还是JavaScript客户端&#xff0c;构建连接时都存在一个默认配置&#xff1a;SkipNegotiationfasle&#xff0c;负负得正就等于要求协商&#xff0c;…

Gitflow branch与Docker image tag命名冲突怎么办?

谷歌还是比必应要好用一点。在前公司&#xff0c;我根据主流的git flow 给团队搭建了一套devops流程&#xff0c;运行在 docker & k8s上。在现代devops流程中&#xff0c;一般推荐使用git分支名或者git tag作为镜像的tag名。在实际操作中&#xff0c; 我遇到了一个流程阻塞…

Hostonly cookie是什么鬼?

点击上方蓝字关注我们吧知道cookie hostonly属性的请举手&#x1f9d0;01Cookie常见姿势、疑难梳理目前w3c定义浏览器存放每个cookie需要包含以下字段&#xff1a;cookie属性基本描述举例备注namevaluecookie键值对ida3fWaexpirescookie过期时间expiresTue, 10-Jul-2013 08:30:…