vite+react+ts+eslint+prettier构建react开发项目

news/2024/7/15 17:59:08 标签: react.js, 前端, vite, typescript, eslint, prettier

目录

一、构建项目

eslint%E5%92%8Cprettier%E7%9A%84%E4%BE%9D%E8%B5%96-toc" style="margin-left:40px;">二、安装eslintprettier的依赖

eslintrc.cjs%2C%E5%88%9B%E5%BB%BA.prettierrc.cjs-toc" style="margin-left:40px;">三、修改.eslintrc.cjs,创建.prettierrc.cjs

eslintrc.cjs%E6%96%87%E4%BB%B6%E9%85%8D%E7%BD%AE-toc" style="margin-left:80px;">1、.eslintrc.cjs文件配置

prettierrc.cjs%E6%96%87%E4%BB%B6%E9%85%8D%E7%BD%AE-toc" style="margin-left:80px;">2、.prettierrc.cjs文件配置

三、将错误显示在页面上

vite-plugin-eslint%E6%8F%92%E4%BB%B6-toc" style="margin-left:80px;">1、安装vite-plugin-eslint插件

vite.config.ts%E6%96%87%E4%BB%B6%E9%85%8D%E7%BD%AE-toc" style="margin-left:80px;">2、vite.config.ts文件配置


本文将介绍vite作为脚手架构建react开发项目,使用eslint进行代码规范,prettier进行代码美化。花话不多说,直接上代码。

一、构建项目

pnpm create vite

eslint%E5%92%8Cprettier%E7%9A%84%E4%BE%9D%E8%B5%96">二、安装eslintprettier的依赖

vite脚手架当中已经内置了eslint依赖包,也就是在项目创建完成后已经有了eslint以及eslint相关的依赖,因此只需要安装prettierprettier相关的依赖包即可。

pnpm add prettier  eslint-config-prettier eslint-plugin-prettier eslint-plugin-react eslint-plugin-html -D

eslintrc.cjs%2C%E5%88%9B%E5%BB%BA.prettierrc.cjs">三、修改.eslintrc.cjs,创建.prettierrc.cjs

eslintrc.cjs%E6%96%87%E4%BB%B6%E9%85%8D%E7%BD%AE">1、.eslintrc.cjs文件配置

module.exports = {
  env: { browser: true, es2020: true, node: true },
  extends: [
    'eslint:recommended',
    'plugin:@typescript-eslint/recommended',
    'plugin:react-hooks/recommended',
    'plugin:prettier/recommended',
    'plugin:react/jsx-runtime'
  ],
  parser: '@typescript-eslint/parser',
  parserOptions: {
    ecmaFeatures: {
      jsx: true
    },
    ecmaVersion: 'latest',
    sourceType: 'module'
  },
  settings: {
    react: {
      version: 'detect'
    },
    'html/html-extensions': ['.html', '.we'] // consider .html and .we files as HTML
  },
  plugins: ['react-refresh', 'react', '@typescript-eslint', 'prettier', 'html'],
  rules: {
    'react-refresh/only-export-components': 'warn',
    'prettier/prettier': 'error',
    'arrow-body-style': 'off',
    'prefer-arrow-callback': 'off'
  }
};

prettierrc.cjs%E6%96%87%E4%BB%B6%E9%85%8D%E7%BD%AE">2、.prettierrc.cjs文件配置

module.exports = {
  semi: true,
  endOfLine: 'auto',
  singleQuote: true,
  trailingComma: 'none',
  bracketSpacing: true,
  jsxBracketSameLine: false,
  vueIndentScriptAndStyle: false,
  'jsxBracketSameLine:': true,
  htmlWhitespaceSensitivity: 'ignore',
  wrapAttributes: true,
  overrides: [
    {
      files: '*.html',
      options: {
        parser: 'html'
      }
    }
  ]
};

三、将错误显示在页面上

如果希望在开发的过程中将代码中的错误或者不规范的地方反应在页面上,可以使用vite-plugin-eslint来完成

vite-plugin-eslint%E6%8F%92%E4%BB%B6">1、安装vite-plugin-eslint插件

pnpm add vite-plugin-eslint -D

vite.config.ts%E6%96%87%E4%BB%B6%E9%85%8D%E7%BD%AE">2、vite.config.ts文件配置

import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react-swc';
import viteEslint from 'vite-plugin-eslint';
import { resolve } from 'path';
// https://vitejs.dev/config/
export default defineConfig(({ mode, command }) => {
  console.log('🚀 ~ file: vite.config.ts:6 ~ command:', command);
  console.log('🚀 ~ file: vite.config.ts:6 ~ mode:', mode);
  const boo = mode === 'dev';
  const alias = {
    '@': resolve(__dirname, './src')
  };
  return {
    plugins: [
      react(),
      viteEslint({
        //  failOnError: false
        include: ['src/**/*.js', 'src/**/*.vue', 'src/**/*.jsx', 'src/**/*.ts'],
        //  exclue: ['./node_modules/**'],
        cache: false
      })
    ],
    resolve: {
      alias
    },
    css: {
      devSourcemap: boo
    },
    server: {
      host: '0.0.0.0',
      port: 5000,
      open: true
    }
  };
});

以上就是vite+react+ts+eslint+prettier构建react开发项目,如果需要开箱即用可以下载模板,我已经配置好的项目模板,里面也已经安装了redux依赖进行状态管理,tailwind.css来进行样式使用。因此,直接拉下来,就可以配置并启动启动你的项目。


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

相关文章

小米 红米 Redmi note11 4G 5G 手机解锁BL 秒BL解锁 教程 跳过168小时 selenes evergo线刷机包下载

红米(Redmi)Note 11 5G 手机BL解锁 红米note11 4G/5G 秒解锁BL锁 方法 教程 跳过168小时 新版本 selenes evergo 红米Note11系列版本非常多,从4G开始一直到后面出现的11R,我们常见的机型有红米 Note11/11Pro/11Pro/11SE/11R等等&…

selenium三大等待

目录 前言: 一、强制等待:sleep(秒) 二、智能等待:显性等待 三、智能等待:隐形等待 前言: 在Selenium自动化测试中,等待是非常重要的一部分,它能够确保在需要时等待页面或元素的加载完成或…

SAP BW/HANA 数据源创建示例

操作实例 在ABAP中创建: 1、RSO2——创建数据源——明明规则:ZZZ/BZ/HY_PP/MM/SD/FI_数据表名 如果表数据中存在货币或者数量关联不是本表需要走RFC提取 根据RFC提取: 函数组—ZBW_GROUP_FI 创建RFC:ZBW_FUN_ZCOT007E 代码&a…

前端系列20集-vue3,微信小程序,brew,redis,WebSocket

onShow() {uni.checkSession({success: (data) > {this.getSessionId()},fail: () > {this.getSessionId()}}) }, // 获取用户的手机号 getPhoneNumber(info) {let wxAuth {encryptedData: info.detail.encryptedData,iv: info.detail.iv,sessionId: uni.getStorageSync…

记录实现QT和qml model/view 交互时候遇到的坑

使用QT的model/view 建立全局静态变量 打印发现有值输出 但是界面无日志显示 原因是一开始使用调用函数传参传的logModel参数加了const参数修饰 这个错误太傻了,找了半天一直怀疑外部类的问题 其实setContextProperty是这么用的 传QObject类型的引用之后它内部会…

机器学习基础之《概述》

一、机器学习与人工智能、深度学习 1、机器学习是人工智能的一个实现途径 2、深度学习是机器学习的一个方法发展而来 二、统计学习和机器学习 实际机器学习在上世纪80年代已经出现,搞统计的 机器学习中有一个方法,叫人工神经网络,发展成深度…

初识Docker:(7)查询Docker镜像的DockerFile

1. 前言 我们知道了根据dockerfile来制作镜像,如果给你一个现成的镜像,你能逆向查看出dockerfile吗? 否则,你怎么知道该镜像使用的是CMD还是ENTRYPOINT ,使用的是shell格式还是CMD格式?由于格式决定了doc…

DL环境安装之GCC9,Python9与IDE连接远程环境:python notebook,解释器,C toolchain

文章目录 一.安装gcc91. 设置x86 centos7 yum源2. 编译安装 二、安装python3.91.前置依赖2. 编译安装3.建立软连接或环境变量 三、IDE连接远程环境1.IDE 远程notebook2.IDE 远程Python解释器3.远程toolchain (后续可能有用) 一.安装gcc9 系统自带的cc可…