首页 > 编程语言 >JavaScript 第27章:构建工具与自动化

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

时间:2024-10-23 12:45:35浏览次数:3  
标签:27 -- babel 代码 JavaScript dev js 自动化 工具

在现代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来集成两者。

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

标签:27,--,babel,代码,JavaScript,dev,js,自动化,工具
From: https://blog.csdn.net/hummhumm/article/details/143156363

相关文章

  • 25届电信保研经验贴(自动化所)
     个人背景学校:中九专业:电子信息工程加权:92.89绩点:3.91/4.0rank:前五学期rank2/95,综合排名rank1(前六学期和综合排名出的晚,实际上只用到了前五学期)科研竞赛:市级大创、数模省一、数竞省二,其他校奖若干英语:六级462、四级548个人感觉:rank=科研>竞赛>英语至于面试,大家一定要......
  • 一站式AI自动化剪辑 内置多种功能 永久免费
    AI影视解说自动化剪辑工具,功能非常强大,吊打所有视频解说,解放双手,从我开始【资源名称】:纳拉托艾【资源大小】:1.27【资源版本】:0.1【测试机型】:Win11.【资源介绍】:一站式AI影视解说,自动化剪辑,自动生成视频,自动进行解说,功能强大【下载链接】:https://pan.quark.cn/s/3aec2......
  • 原创计算机毕业设计—69271 django重大公告卫生事件物资管理系统 (源码免费领)定制程序
    摘要随着信息技术的快速发展,计算机应用已经进入成千上万的家庭。随着物资数量的增加,物资库存管理也存在许多问题。物资数据的处理量正在迅速增加,原来的手工管理模式不适合这种形式。使用计算机可以完成数据收集、处理和分析,减少人力和物力的浪费。需要建立重大公告卫生事件......
  • 6个关于JavaScript的超级技巧
    对象属性简写问题:将变量分配给对象属性可能会重复。解决方案:使用属性简写来简化对象创建。动态属性名称问题:使用动态属性名称创建对象可能很冗长。解决方案:使用计算属性名称动态创建对象属性。数组方法:map()、、filter()和reduce()问题:对数组进行迭代可能会重复。解决方案......
  • 从零开始实现WEB自动化 - 技术选型及简单实践
    作为程序员的我们,在工作中应该能明显感觉到,技术选型对整个开发周期尤为重要,选择合适的技术可以帮助我们更高效地完成工作,提高开发速度和质量。 本篇主要针对开发WEB自动化的技术实现探索Selenium初探Selenium是一个用于自动化浏览器操作的工具,可以模拟用户在网页上的操作,包......
  • Springboot+vue社区智慧医疗服务管理系统的设计与实现 毕业设计程序源码98275
    目 录摘要1绪论1.1研究背景1.2研究意义1.3论文结构与章节安排2 社区智慧医疗服务管理系统分析2.1可行性分析2.2系统流程分析2.2.1数据增加流程2.2.2数据修改流程2.2.3数据删除流程2.3系统功能分析2.3.1功能性分析2.4系统用例分析......
  • [ 钓鱼实战系列-基础篇-4 ] 一篇文章教会你用红队思维收集目标邮箱信息-2(附邮箱收集自
    ......
  • 20222427 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    1.实践内容1.1本周知识总结深入学习关于缓冲区溢出的基础知识。学习了关于后门的一些基础知识。1.2回答问题(1)杀软是如何检测出恶意代码的?病毒特征码检测加密文件分析基于行为检测的主动防御病毒云查杀(2)免杀是做什么?免杀,即Anti-AntiVirus(简写VirusAV......
  • JavaScript 函数定义
    JavaScript使用关键字 function 定义函数。函数可以通过声明定义,也可以是一个表达式。functionfunctionName(parameters){执行的代码}functionmyFunction(a,b){ returna*b;}函数表达式JavaScript函数可以通过一个表达式定义。函数表达式可以存储在变......
  • [Javascript] Covert for loop code to recursion code
    //loopfunctiondemo1(){//beforeloopbeforeLoopCode;for(initCode;conditionCode;stepChangeCode){loopCode}postCode}//recursivefunctiondemo2(){beforeLoopCode;initCodefunction_m(){if(!c......