客户端web开发工具

文章目录

  • 安全网络
    • Linter-->捕获代码错误-->eslint
    • 源代码控制-->Git
    • 代码格式化-->Prettier
    • 打包工具--Parcel--Webpack
  • 转换--Babel
  • 开发后阶段
    • 测试工具
    • 配置工具
    • 其他
  • node,npm、yarn
    • node.js
    • 包管理器
    • npm
    • yarn

https://developer.mozilla.org/zh-CN/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Overview

虽然仍然可以手工编写HTML、CSS、JavaScript,但现在有大量的工具可供开发人员使用,以加快构建web站点或应用程序的过程。

高层次上,根据需要解决的问题,可以将客户端工具分为三大类:

  • 安全网络 — 在代码开发期间有用的工具。
  • 转换 — 以某种方式转换代码的工具,例如将一种中间语言转换为浏览器可以理解的 JavaScript。
  • 开发后阶段 — 编写完代码后有用的工具,如测试和部署工具。

安全网络

Linter–>捕获代码错误–>eslint

检查代码并告诉存在任何错误的工具,是什么类型的错误,以及出现在哪些代码行上。

eslint是业界标准的JavaScript linter,是一种高度可配置的工具,用于捕获潜在的语法错误。

其他:csslint、weblint

源代码控制–>Git

也称为版本控制系统VCS。

Git是现在大多数人使用的源代码控制系统。

代码格式化–>Prettier

代码格式化程序与 linters 有些关联,除了它们不是指出代码中的错误,而是根据你的样式规则,确保你的代码被正确格式化,理想情况下自动修复它们发现的错误。

Prettier是一个非常流行的代码格式化程序示例

打包工具–Parcel–Webpack

让代码准备在生产环境下运行。例如,通过 tree-shaking 来确保只有实际使用的代码库的部分被放到最终的生产代码中,或“缩减”删除所有空格在生产代码中,使其尽可能小之前上传到服务器。

Parcel

Webpack

转换–Babel

web 应用程序生命周期的这个阶段通常允许你编写“未来代码”(比如最新的 CSS 或 JavaScript 特性,这些特性可能还没有得到浏览器的本地支持),或者完全使用另一种语言编写代码,比如 TypeScript。转换工具将为你生成与浏览器兼容的代码,以用于生产。

通常 web 开发被认为是三种语言:HTML、CSS 和 JavaScript,所有这些语言都有转换工具。

转换提供了两个主要好处(还有其他好处)

1、能够使用最新的语言特性编写代码,并将其转换为可在日常设备上使用的代码。例如,你可能希望使用尖端的新语言特性来编 JavaScript,但是你的最终产品代码仍然可以在不支持这些特性的旧浏览器上工作。例如:

  • Babel:一个 JavaScript 编译器,允许开发人员使用最前沿的 JavaScript 编写代码,然后 Babel 将其转换为老式的 JavaScript,让更多的浏览器能够理解。开发人员也可以编写和发布plugins for Babel.

  • PostCSS:和 Babel 做同样的事情,但是有先进的 CSS 特性。如果没有相同的方法使用旧的 CSS 特性来做一些事情,PostCSS 将安装一个 JavaScript 填充来模拟你想要的 CSS 效果。

2、选择用一种完全不同的语言编写代码,并将其转换为与 web 兼容的语言。例如:

  • Sass/SCSS:这个 CSS 扩展允许你使用变量、嵌套规则、混合、函数和许多其他特性,其中一些特性在本地 CSS 中是可用的 (比如变量),而另一些则不是。

  • TypeScript:TypeScript 是 JavaScript 的一个超集,它提供了一堆额外的特性。TypeScript 编译器在生成产品时将 TypeScript 代码转换为 JavaScript。

  • 框架例如 React、Ember 和 Vue:框架提供了许多免费的功能,并允许你通过构建在普通 JavaScript 之上的自定义语法来使用它们。在后台,框架的 JavaScript 代码努力解释这个定制语法,并将其呈现为最终的 web 应用程序。

开发后阶段

开发后阶段工具可以确保你的软件能够访问 web 并继续运行。这包括部署流程、测试框架、审计工具等等。

测试工具

配置工具

其他

node,npm、yarn

https://www.cnblogs.com/wendyw/p/11494036.html
https://juejin.cn/post/7034705127868989447

node.js

Node.js:JavaScript 是 Web 的编程语言,node.js 就是运行在服务端的 JavaScript。

包管理器

包管理器是开发人员用来自动寻找、下载、安装、配置、升级和删除系统包的工具。

npm

Npm:node.js一起安装的包管理工具。安装完nodejs后,npm也一起安装好了。

设置镜像

npm config set registry https://registry.npmmirror.com --global
# 查询设置的镜像
npm config get registry

yarn

Yarn:Yet Another Resource Negotiator,是一个快速、可靠、安全的依赖管理工具,一款新的JavaScript包管理工具。

安装
使用NPM安装

npm i yarn -g
# -g 全局安装
yarn -version 
# 可以看到版本号

设置镜像

yarn config set registry https://registry.npmmirror.com --global

在这里插入图片描述

在这里插入图片描述

版本查询

node -v
npm -v
yarn -v

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/402513.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RM电控讲义【HAL库篇】

这段代码中do while的作用: 宏定义中的语句块:do { ... } while (0) 允许你在宏定义中创建一个语句块,从而可以包含多条语句。这在宏定义中特别有用,因为宏只是简单的文本替换,不像函数那样有作用域和返回类型。因此&…

Docker基础篇(-)

docker 三个要素 镜像容器仓库 CentOS 6.8 安装 docker centos 7.0 yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager -y --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo systemctl start docker 启动Docker&…

嵌入式中c语言指针用法详解与分析

今天给大家来讲解一下指针。 我会由浅到深,最后结合实际应用讲解,让大家学会指针的同时,知道大佬们都用指针来干嘛! 长文预警!全文大约5200多字,学指针看这篇文章就够了! 很多人跟我刚学习c语…

electorn+vue3项目启动后报错unsafe-eval,如何去除提醒

electron项目报错如下: Electron Security Warning (Insecure Content-Security-Policy) This renderer process has either no Content Security Policy set or a policy with “unsafe-eval” enabled. This exposes users of this app to unnecessary security r…

【FreeRTOS基础入门】任务通知

文章目录 前言一、任务通知介绍1.1 任务通知怎么通信1.2 任务通知与其他通信方式的区别1.3 优势及限制任务通知的优势任务通知的限制 1.4 内部原理 二、任务通知的使用2.1 发出与接收通知简化版2.1 发出与接收通知专业版 总结 前言 FreeRTOS 提供了丰富而灵活的任务通知机制&a…

基于51单片机的婴儿看护监测系统[proteus仿真]

基于51单片机的婴儿看护监测系统[proteus仿真] 婴儿看护检测系统这个题目算是课程设计和毕业设计中少见的题目,本期是一个基于51单片机的婴儿看护监测系统[proteus仿真] 需要的源文件和程序的小伙伴可以关注公众号【阿目分享嵌入式】,赞赏任意文章 2&a…

openGauss学习笔记-226 openGauss性能调优-系统调优-配置LLVM-LLVM适用场景与限制

文章目录 openGauss学习笔记-226 openGauss性能调优-系统调优-配置LLVM-LLVM适用场景与限制226.1 适用场景226.2 非适用场景 openGauss学习笔记-226 openGauss性能调优-系统调优-配置LLVM-LLVM适用场景与限制 226.1 适用场景 支持LLVM的表达式 查询语句中存在以下的表达式支持…

优化设备维修流程:易点易动设备管理系统的设备维修管理策略

在现代企业中,设备是生产运营的核心要素之一。然而,设备故障和维修常常给企业带来诸多困扰和成本。为了提高设备维修的效率和质量,许多企业开始采用先进的设备管理系统。在这方面,易点易动设备管理系统以其卓越的设备维修管理策略…

2023年Q4,SSD出货量下降5%,但存储容量增长9.6%

2023年第四季度(4Q23)的SSD市场表现呈现出单位出货量下降,但存储容量增长的趋势。具体数据显示,该季度SSD总出货量下降5%,降至8820万台; 而存储容量则增长9.6%,达到85.1EB。预计2023全年SSD总容…

前端基于Verdaccio搭建私有npm仓库,上传npm插件包,及下载使用自己的npm插件包

文章目录 一、原理二、常用的仓库地址三、优势四、准备环境六、使用verdaccio搭建私有npm服务1、安装2、运行3、配置config.yaml,使局域网下能共享访问,否则只能本机访问。4、重新运行 七、npm常见操作查看当前用户信息查看源地址切换源地址删除源地址创…

【Linux】Linux调试器-gdb使用

1. 背景 程序的发布方式有两种,debug模式和release模式 Linux gcc/g出来的二进制程序,默认是release模式 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项 2. 开始使用 gdb binFile 退出: ctrl d 或 quit 调…

【C语言】注释

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:C语言 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步&…

校园公寓管理系统

校园公寓管理系统是一种专为提升高校住宿管理效率而设计的综合性智能解决方案。这一系统利用现代信息技术优化和简化了传统的住宿管理流程,极大地提高了管理工作的透明度和学生的住宿体验。 一、系统组成 校园公寓管理系统一般包括住宿分配、安全监控、费用管理、维…

java面试题之SpringMVC篇

Spring MVC的工作原理 Spring MVC的工作原理如下: DispatcherServlet 接收用户的请求找到用于处理request的 handler 和 Interceptors,构造成 HandlerExecutionChain 执行链找到 handler 相对应的 HandlerAdapter执行所有注册拦截器的preHandler方法调…

树莓派E: You don t have enough free space in /var/cache/apt/archives/.

在树莓派实际使用当中,我们会发现SD卡的存储并没有得到充分的利用,是否有办法让可用空间变的更大,毫无疑问肯定是有的,不然我就不在这里废话了。 使用raspi-config扩容 一、df -h查看可用空间 首先输入"df -h"命令可…

typescrip接口 interface详解,以及ts实现多态

ts 接口 当一个对象类型被多次使用时,一般会使用接口(interface)来描述对象的类型,达到复用的目的 示例如下 当一个对象类型被多次使用时,可以看到,很明显代码有大量的冗余 let personTom: { name: string, age?: number, sayHi(name: string): void } {name: Tom,sayHi(n…

Java Web(七)__Tomcat(二)

Tomcat工作模式 Tomcat作为Servlet容器,有以下三种工作模式。 1)独立的Servlet容器,由Java虚拟机进程来运行 Tomcat作为独立的Web服务器来单独运行,Servlet容器组件作为Web服务器中的一部分而存在。这是Tomcat的默认工作模式。…

一文弄明白KeyedProcessFunction函数

引言 KeyedProcessFunction是Flink用于处理KeyedStream的数据集合,它比ProcessFunction拥有更多特性,例如状态处理和定时器功能等。接下来就一起来了解下这个函数吧 正文 了解一个函数怎么用最权威的地方就是 官方文档 以及注解,KeyedProc…

Observability:使用 OpenTelemetry 和 Elastic 监控 OpenAI API 和 GPT 模型

作者: 来自 Elastic David Hope ChatGPT 现在非常火爆,甚至席卷了整个互联网。 作为 ChatGPT 的狂热用户和 ChatGPT 应用程序的开发人员,我对这项技术的可能性感到非常兴奋。 我看到的情况是,基于 ChatGPT 的解决方案将会呈指数级…

C++实现归并排序题目

目录 例1 例2 例3 例4 例1 912. 排序数组 参考代码 class Solution { public:vector<int> tmpnums;vector<int> sortArray(vector<int>& nums) {tmpnums.resize(nums.size());mergeSort(nums, 0, nums.size() - 1);return nums;}void mergeSort(vector…