JavaScript 第27章:构建工具与自动化

在现代JavaScript开发中,构建工具、代码转换工具、代码质量和代码格式化工具对于提高开发效率、保持代码整洁以及确保代码质量有着至关重要的作用。下面将分别介绍Webpack、Babel、ESLint和Prettier的配置与使用,并给出一些示例。

1. 构建工具:Webpack配置与使用

Webpack是一个模块打包器,它可以将各种资源(如JavaScript文件、样式表、图片等)打包成一个或多个捆绑包(bundle)。它支持各种插件和加载器来处理不同类型的资源。

安装
npm install --save-dev webpack webpack-cli
配置文件 webpack.config.js
const path = require('path');module.exports = {entry: './src/index.js', // 入口文件output: {filename: 'main.js', // 输出文件名path: path.resolve(__dirname, 'dist'), // 输出目录},module: {rules: [{test: /\.js$/,exclude: /node_modules/,use: {loader: 'babel-loader', // 使用babel-loader来转译JS},},],},
};

2. 代码转换工具:Babel入门

Babel是一个广泛使用的编译器,可以将现代JavaScript转译为向后兼容的版本,以确保在各种环境中都能正常运行。

安装
npm install --save-dev @babel/core @babel/cli @babel/preset-env
.babelrc 配置文件
{"presets": ["@babel/preset-env"]
}
转换ES6+代码到ES5
npx babel src --out-dir dist

3. 代码质量工具:ESLint配置与常见规则

ESLint是一个静态代码分析工具,可以帮助开发者找出代码中的错误并统一代码风格。

安装
npm install --save-dev eslint
初始化配置 eslint --init
示例配置 .eslintrc.json
{"env": {"browser": true,"es6": true},"extends": "eslint:recommended","rules": {"indent": ["error", 2],"quotes": ["error", "double"],"semi": ["error", "always"]}
}

4. 代码格式化工具:Prettier配置与使用

Prettier是一个代码格式化工具,可以自动调整代码样式,使项目中的代码风格一致。

安装
npm install --save-dev prettier
配置文件 .prettierrc
{"printWidth": 80,"tabWidth": 2,"useTabs": false,"semi": true,"singleQuote": false,"trailingComma": "es5","bracketSpacing": true,"jsxBracketSameLine": false
}

通常情况下,我们会让ESLint与Prettier协同工作,这样可以在保存文件时自动修复代码格式问题。你可以安装eslint-plugin-prettier来集成两者。

以上是这些工具的基本配置和使用方法。根据项目的具体需求,你可能需要进一步定制这些工具的配置来满足特定的要求。

在现代JavaScript开发中,构建工具、代码转换工具、代码质量和代码格式化工具对于提高开发效率、保持代码整洁以及确保代码质量有着至关重要的作用。下面将分别介绍Webpack、Babel、ESLint和Prettier的配置与使用,并给出一些示例。

1. 构建工具:Webpack配置与使用

Webpack是一个模块打包器,它可以将各种资源(如JavaScript文件、样式表、图片等)打包成一个或多个捆绑包(bundle)。它支持各种插件和加载器来处理不同类型的资源。

安装
npm install --save-dev webpack webpack-cli
配置文件 webpack.config.js
const path = require('path');module.exports = {entry: './src/index.js', // 入口文件output: {filename: 'main.js', // 输出文件名path: path.resolve(__dirname, 'dist'), // 输出目录},module: {rules: [{test: /\.js$/,exclude: /node_modules/,use: {loader: 'babel-loader', // 使用babel-loader来转译JS},},],},
};

2. 代码转换工具:Babel入门

Babel是一个广泛使用的编译器,可以将现代JavaScript转译为向后兼容的版本,以确保在各种环境中都能正常运行。

安装
npm install --save-dev @babel/core @babel/cli @babel/preset-env
.babelrc 配置文件
{"presets": ["@babel/preset-env"]
}
转换ES6+代码到ES5
npx babel src --out-dir dist

3. 代码质量工具:ESLint配置与常见规则

ESLint是一个静态代码分析工具,可以帮助开发者找出代码中的错误并统一代码风格。

安装
npm install --save-dev eslint
初始化配置 eslint --init
示例配置 .eslintrc.json
{"env": {"browser": true,"es6": true},"extends": "eslint:recommended","rules": {"indent": ["error", 2],"quotes": ["error", "double"],"semi": ["error", "always"]}
}

4. 代码格式化工具:Prettier配置与使用

Prettier是一个代码格式化工具,可以自动调整代码样式,使项目中的代码风格一致。

安装
npm install --save-dev prettier
配置文件 .prettierrc
{"printWidth": 80,"tabWidth": 2,"useTabs": false,"semi": true,"singleQuote": false,"trailingComma": "es5","bracketSpacing": true,"jsxBracketSameLine": false
}

通常情况下,我们会让ESLint与Prettier协同工作,这样可以在保存文件时自动修复代码格式问题。你可以安装eslint-plugin-prettier来集成两者。

在现代JavaScript开发中,构建工具、代码转换工具、代码质量和代码格式化工具对于提高开发效率、保持代码整洁以及确保代码质量有着至关重要的作用。下面将分别介绍Webpack、Babel、ESLint和Prettier的配置与使用,并给出一些示例。

1. 构建工具:Webpack配置与使用

Webpack是一个模块打包器,它可以将各种资源(如JavaScript文件、样式表、图片等)打包成一个或多个捆绑包(bundle)。它支持各种插件和加载器来处理不同类型的资源。

安装
npm install --save-dev webpack webpack-cli
配置文件 webpack.config.js
const path = require('path');module.exports = {entry: './src/index.js', // 入口文件output: {filename: 'main.js', // 输出文件名path: path.resolve(__dirname, 'dist'), // 输出目录},module: {rules: [{test: /\.js$/,exclude: /node_modules/,use: {loader: 'babel-loader', // 使用babel-loader来转译JS},},],},
};

2. 代码转换工具:Babel入门

Babel是一个广泛使用的编译器,可以将现代JavaScript转译为向后兼容的版本,以确保在各种环境中都能正常运行。

安装
npm install --save-dev @babel/core @babel/cli @babel/preset-env
.babelrc 配置文件
{"presets": ["@babel/preset-env"]
}
转换ES6+代码到ES5
npx babel src --out-dir dist

3. 代码质量工具:ESLint配置与常见规则

ESLint是一个静态代码分析工具,可以帮助开发者找出代码中的错误并统一代码风格。

安装
npm install --save-dev eslint
初始化配置 eslint --init
示例配置 .eslintrc.json
{"env": {"browser": true,"es6": true},"extends": "eslint:recommended","rules": {"indent": ["error", 2],"quotes": ["error", "double"],"semi": ["error", "always"]}
}

4. 代码格式化工具:Prettier配置与使用

Prettier是一个代码格式化工具,可以自动调整代码样式,使项目中的代码风格一致。

安装
npm install --save-dev prettier
配置文件 .prettierrc
{"printWidth": 80,"tabWidth": 2,"useTabs": false,"semi": true,"singleQuote": false,"trailingComma": "es5","bracketSpacing": true,"jsxBracketSameLine": false
}

通常情况下,我们会让ESLint与Prettier协同工作,这样可以在保存文件时自动修复代码格式问题。你可以安装eslint-plugin-prettier来集成两者。

以上是这些工具的基本配置和使用方法。根据项目的具体需求,你可能需要进一步定制这些工具的配置来满足特定的要求。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【移动应用开发】界面设计(二)实现水果列表页面

续上一篇博客 【移动应用开发】界面设计(一)实现登录页面-CSDN博客 目录 一、采用ViewBinding实现一个RecyclerView 1.1 在app/build.gradle中添加recyclerview依赖,并打开viewBinding (1)在app/build.gradle中添加…

Servlet(三)-------Cookie和session

一.Cookie和Session Cookie和Session都是用于在Web应用中跟踪用户状态的技术。Cookie是存储在用户浏览器中的小文本文件,由服务器发送给浏览器。当用户再次访问同一网站时,浏览器会把Cookie信息发送回服务器。例如,网站可以利用Cookie记住用…

金融工程--pine-script 入门

背景 脚本基本组成 策略实现 实现马丁格尔策略 初始化变量:定义初始资本、初始头寸大小、止损百分比、止盈百分比以及当前资本和当前头寸大小等变量。 更新头寸:创建一个函数来更新头寸大小、止损价格和止盈价格。在马丁格尔策略中,每次亏…

如何在算家云搭建GPT-SOVITS(语音转换)

一、模型介绍 GPT-SOVITS是一款强大的小样本语音转换和文本转语音 WebUI工具。它集成了声音伴奏分离、自动训练集分割、中文ASR和文本标注等辅助工具。 具有以下特征: 零样本 TTS: 输入 5 秒的声音样本并体验即时文本到语音的转换。少量样本 TTS&…

micro-app【微前端实战】主应用 vue3 + vite 子应用 vue3+vite

micro-app 官方文档为 https://micro-zoe.github.io/micro-app/docs.html#/zh-cn/framework/vite 子应用 无需任何修改,直接启动子应用即可。 主应用 1. 安装微前端框架 microApp npm i micro-zoe/micro-app --save2. 导入并启用微前端框架 microApp src/main.ts …

智联招聘×Milvus:向量召回技术提升招聘匹配效率

01. 业务背景 在智联招聘平台,求职者和招聘者之间的高效匹配至关重要。招聘者可以发布职位寻找合适的人才,求职者则通过上传简历寻找合适的工作。在这种复杂的场景中,我们的核心目标是为双方提供精准的匹配结果。在搜索推荐场景下&#xff0c…

leetcode-75-颜色分类

题解(方案二): 1、初始化变量n0,代表数组nums中0的个数; 2、初始化变量n1,代表数组nums中0和1的个数; 3、遍历数组nums,首先将每个元素赋值为2,然后对该元素进行判断统…

【开源项目】经典开源项目数字孪生工地——开源工程及源码

飞渡科技数字孪生工地管理平台,以物联网、移动互联网技术为基础,充分应用人工智能等信息技术,通过AI赋能建筑行业,对住建项目内人员、车辆、安全、设备、材料等进行智能化管理,实现工地现场生产作业协调、智能处理和科…

【JavaEE】【多线程】单例模式

目录 一、设计模式1.1 单例模式1.1.1 饿汉模式1.1.2 懒汉模式 1.2 线程安全问题1.3 懒汉模式线程安全问题的解决方法1.3.1 原子性问题解决1.3.2 解决效率问题1.3.3 解决内存可见性问题和指令重排序问题 一、设计模式 在讲解案例前,先介绍一个概念设计模式&#xff…

stm32入门教程--ADC模拟-数字转换器

ADC(Analog-Digital Converter)模拟-数字转换器 ADC可以将引脚上连续变化的模拟电压转你换位内存中存储的数字变量,建立模拟电路到数字电路的桥梁。 12位逐次逼近型ADC,1us转换时间 输入电压范围:0-3.3V转换结果范围…

Pyramidal Flow使用指南:快手、北大、北邮,开源可免费商用视频生成模型,快速上手教程

什么是 Pyramidal Flow? Pyramidal Flow 是由快手科技、北京大学和北京邮电大学联合推出的开源视频生成模型,它是完全开源的,发布在 MIT 许可证下,允许商业使用、修改和再分发。该模型能够通过文本描述生成最高10秒、分辨率为128…

Embedding 模型和Model 批量推理和多卡部署

批量推理 多卡部署 使用huggingface 【AI大模型】Transformers大模型库(七):单机多卡推理之device_map_transformers多卡推理-CSDN博客 首先用 CUDA_VISIBLE_DEVICES1,2,3 python 或者os.environ["CUDA_VISIBLE_DEVICES"] &q…

风力发电场的“守护神”

摘要:作为清洁能源之一,风力发电场近几年装机容量快速增长。8月17日,国家能源局发布1-7月份全国电力工业统计数据。截至7月底,全国累计发电装机容量约27.4亿千瓦,同比增长11.5%。其中,太阳能发电装机容量约…

TCP simultaneous open测试

源代码 /*************************************************************************> File Name: common.h> Author: hsz> Brief:> Created Time: 2024年10月23日 星期三 09时47分51秒**********************************************************************…

转录组上游分析流程(三)

环境部署——数据下载——查看数据(非质控)——数据质控——数据过滤(过滤低质量数据) 测序得到的原始序列含有接头序列和低质量序列,为了保证信息分析的准确性,需要对原始数据进行质量控制,得到高质量序列(Clean Reads),原始序列…

Linux系统块存储子系统分析记录

1 Linux存储栈 通过网址Linux Storage Stack Diagram - Thomas-Krenn-Wiki-en,可以获取多个linux内核版本下的存储栈概略图,下面是kernel-4.0的存储栈概略图: 2 存储接口、传输速度 和 协议 2.1 硬盘 《深入浅出SSD:固态存储核心…

(二十三)Java反射

1.反射概念 反射允许对成员变量,成员方法和构造方法的信息进行编程访问,通俗理解就是允许从类里面拿东西,用途有提示词等,如下所示都是通过反射实现的 所以,学习反射就是学习从字节码class文件中获取成员信息并且对其…

stable diffusion WEBUI Brief summary

1,rembg(去除背景-》蒙版) import rembg from PIL import Image, ImageOps import numpy as np# 打开图像 input_path "./p_6258838.jpg" input_image Image.open(input_path)# 移除背景,得到带有透明背景的图像 output_image rembg.remove…

利用大模型进行复杂决策制定:PlanRAG技术的研究

人工智能咨询培训老师叶梓 转载标明出处 有效的决策制定对于组织的成功至关重要。传统的决策支持系统虽然在数据分析和决策辅助方面取得了一定的进展,但在处理需要复杂数据分析的决策问题时仍显不足。为了解决这一问题,来自韩国高等科学技术院&#xff…

fpga系列 HDL: 竞争和冒险 01

卡诺图是一种逻辑化简工具,用来在布尔函数的最小项和形式中,找到冗余项并实现逻辑化简。也可用于HDL中竞争和冒险的判断。 最小项 任何一个逻辑函数都能化简为最小项的和的形式对于 n 个变量的布尔表达式,每个变量都必须以原变量&#xff0…