[GN] 使用vue3+vite+ts+prettier+eslint

学习目标:

做到代码格式等统一,此时,esint和prettier就要登场了。


学习内容:

eslint是代码检测工具,可以检测出你代码中潜在的问题,比如使用了某个变量却忘记了定义。
prettier是代码格式化工具,作为代码格式化工具,能够统一你或者你的团队的代码风格。

=> 安装prettier+eslint包,并做一系列的配置


学习时间:

  1. 创建项目
yarn create vite

选择vue 作为 framework
选择 vue-ts

  1. 是package.json中配置的eslint和prettier相关的包:
{"name": "xxx","private": true,"version": "0.0.0","type": "module","scripts": {"dev": "vite","build": "vue-tsc && vite build","preview": "vite preview"},"dependencies": {"vue": "^3.2.47"},"devDependencies": {"@typescript-eslint/eslint-plugin": "^5.57.0","@typescript-eslint/parser": "^5.57.0","@vitejs/plugin-vue": "^4.1.0","eslint": "^8.37.0","eslint-config-prettier": "^8.8.0","eslint-config-standard": "^17.0.0","eslint-plugin-import": "^2.27.5","eslint-plugin-node": "^11.1.0","eslint-plugin-prettier": "^4.2.1","eslint-plugin-promise": "^6.1.1","eslint-plugin-vue": "^9.10.0","prettier": "^2.8.7","prettier-eslint": "^15.0.1","typescript": "^4.9.3","vite": "^4.2.0","vue-eslint-parser": "^9.1.1","vue-tsc": "^1.2.0"}
}

命令:

yarn add 
@typescript-eslint/eslint-plugin 
@typescript-eslint/parser eslint eslint-config-prettier eslint-config-standard eslint-plugin-import eslint-plugin-node eslint-plugin-prettier eslint-plugin-promise eslint-plugin-vue prettier prettier-eslint vue-eslint-parser -D

当这些依赖包安装完成后,然后辅助配置了。

  1. 使eslint生效,我们需要在根目录创建.eslintrc.cjs文件。
module.exports = {env: {browser: true,es2021: true,node: true},extends: ['eslint:recommended','plugin:vue/vue3-essential','plugin:@typescript-eslint/recommended','plugin:prettier/recommended'],overrides: [],parser: 'vue-eslint-parser',parserOptions: {ecmaVersion: 'latest',sourceType: 'module',parser: '@typescript-eslint/parser'},plugins: ['vue', '@typescript-eslint'],rules: {'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off','no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off','vue/multi-word-component-names': 'off','prettier/prettier': 'error','@typescript-eslint/no-explicit-any': 'off'}
}

如果某些文件不想做校验,可以创建.eslintignore来屏蔽。

public
node_modules
dist
src/assets/*
build/*
  1. 个性化prettier,要创建.prettier.cjs。
module.exports = {"extends": ["airbnb","prettier","prettier/react"],"singleQuote": true, // 使用单引号"printWidth": 80, // 超过最大值换行"htmlWhitespaceSensitivity": "ignore","semi": false, // 结尾不用分号"trailingComma": "none", // 函数最后不需要逗号"arrowParens": "avoid", // 箭头函数参数只有一个时,不需要括号"bracketSpacing": true, // 对象大括号直接是否有空格,默认为true,效果:{ foo: bar }"jsxBracketSameLine": false, // 在jsx中把'>' 是否单独放一行"jsxSingleQuote": true, // 在jsx中使用单引号代替双引号"proseWrap": 'preserve', //代码超出是否要换行 preserve保留};

最后在.vscode目录下创建settings.json做统一配置

{"editor.formatOnSave": true,"editor.codeActionsOnSave": {"source.fixAll.eslint": true},"eslint.format.enable": true,"eslint.validate": ["vue","html","javascript","typescript","javascriptreact","typescriptreact","less","css","scss","json","jsonc"],"[vue]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[html]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[javascript]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[typescript]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[javascriptreact]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[typescriptreact]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[less]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[css]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[scss]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[json]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[jsonc]": {"editor.defaultFormatter": "esbenp.prettier-vscode"}
}

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

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

相关文章

Shape-IoU——综合考量边框形状与尺度的度量

今天看到一篇文章主要是提出了一种更有效的IOU度量方法,论文地址在这里,如下所示: 摘要 边界盒回归损失作为检测器定位分支的重要组成部分,在目标检测任务中起着重要作用。现有的边界框回归方法通常考虑GT框和预测框之间的几何关…

AS,android SDK

android sdk中包含什么? Android平台工具(Android Platform Tools): 这包括 adb(Android Debug Bridge)等工具,用于在计算机和 Android 设备之间进行通信、调试和数据传输。 Android命令行工具…

【ES6 Map数据结构】建议日常开发操作数组时使用 new Map

Map数据结构 new Map使用属性及方法:1. size属性2. set(key,value)3. get(key)4. has(key)5. delete(key)6. clear()7. 遍历方法: keys()、values()、entries()、forEach()(1). keys()(2). values()(3). entries()(4). forEach() 8. toString()9. valueOf 算法使用 …

使用ffmpeg进行视频截取

1 原始视频信息 通过ffmpeg -i命令查看视频基本信息 ffmpeg version 6.1-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developersbuilt with gcc 12.2.0 (Rev10, Built by MSYS2 project)configuration: --enable-gpl --enable-version3 --enable-sta…

SqlAlchemy使用教程(四) MetaData 与 SQL Express Language 的使用

四、Database MetaData 与 SQL Express Language 的使用 MetaData对象用于描述表结构,SQL Express Language是DBAPI SQL的统一封装器。MetaData 与SQL Express 语句可以在Core层使用,ORM层基于MetaData, SQL Express基础上做了进一步抽象。本章将介绍在…

Python简单ORM实现:不使用元类的灵活数据操作与查询构建【第29篇—python:ORM】

文章目录 不使用元类的简单ORM实现Field类Compare类Model类Query类示例使用扩展查询功能支持 LIMIT 和 OFFSET支持 GROUP BY 和 HAVING 示例用法总结 不使用元类的简单ORM实现 在 Python 中,ORM(Object-Relational Mapping)是一种将对象和数…

GBASE南大通用CommandBuilder 属性

DataAdapter 属性 获取或设置一个用于自动生成 SQL 语句的GBASE南大通用DataAdapter 对象。  语法 [Visual Basic] Public Property DataAdapter As GBASE南大通用DataAdapter Get Set [C#] public GBaseDataAdapter DataAdapter { get; set; }  属性 一个 GBase…

244.【2023年华为OD机试真题(C卷)】密码解密(JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目二.解题思路三.题解代码Python题解代码JAVA题解…

基于uniapp的在线课程教学系统

介绍 项目背景: 随着互联网的快速发展,在线教育已经成为一种流行的学习方式。针对这一趋势,我们决定开发一个基于UniApp的在线课程教学系统。该系统旨在为学生提供方便快捷的在线学习体验,同时也为教师提供一个高效管理课程的平台…

Vue3实现带点击外部关闭对应弹出框(可共用一个变量)

首先,假设您在单文件组件(SFC)中使用了Vue3,并且有两个div元素分别通过v-if和v-else来切换显示一个带有.elpopver类的弹出组件。在这种情况下,每个弹出组件应当拥有独立的状态管理(例如:各自的isOpen变量)。…

QFile:文件的打开与关闭

QFile file("注释.txt");if(file.open(QIODevice::WriteOnly)){qDebug()<<"打开成功";}else{qDebug()<<"打开失败";}if(file.open(QIODevice::WriteOnly)){qDebug()<<"打开成功";}else{qDebug()<<"打开失…

《计算机视觉处理设计开发工程师》

计算机视觉&#xff08;Computer Vision&#xff09;是一门研究如何让计算机能够理解和分析数字图像或视频的学科。简单来说&#xff0c;计算机视觉的目标是让计算机能够像人类一样对视觉信息进行处理和理解。为实现这个目标&#xff0c;计算机视觉结合了图像处理、机器学习、模…

做品牌,怎么挖掘用户深层需求?

品牌想要长久发展&#xff0c;就需要去挖掘用户深层需求&#xff0c;什么是用户深层需求&#xff0c;比如做美业的认为用户想要变美是深层次的需求&#xff0c;但其实由美貌带来的附加利益比如说更上镜、竞争优势更大等才属于深层需求&#xff0c;今天媒介盒子就来和大家聊聊&a…

compose 实验

cd /opt mkdir compose_nginx cd compose_nginx mkdir nginx cd nginx/ 此时顺便将nginx安装包拖进来 vim Dockerfile mkdir /opt/compose_nginx/wwwroot echo "<h1>this is test web</h1>" > /opt/compose_nginx/wwwroot/index.html docker netw…

HashTable, HashMap, ConcurrentHashMap 之间的区别

1. 线程安全性 HashTable&#xff1a;HashTable是线程安全的&#xff0c;所有操作都是同步的&#xff08;synchronized关键字&#xff09;。这意味着多个线程可以同时访问HashTable&#xff0c;并且不会导致数据不一致的问题。然而&#xff0c;由于同步的开销比较大&#xff0…

【C语言知识】原码反码和补码

一&#xff0c;简介 总结进制转换&#xff0c;原码&#xff0c;反码和补码相关基础知识。 二&#xff0c;具体说明 2.1 十进制转二进制方法 14(D)转换为二进制为&#xff08;0000 1110 &#xff09; -21(D)转换为二进制为&#xff08;1001 0101&#xff09;&#xff0c;先…

二分查找与搜索树的高频问题(算法村第九关白银挑战)

基于二分查找的拓展问题 山峰数组的封顶索引 852. 山脉数组的峰顶索引 - 力扣&#xff08;LeetCode&#xff09; 给你由整数组成的山脉数组 arr &#xff0c;返回满足 arr[0] < arr[1] < ... arr[i - 1] < arr[i] > arr[i 1] > ... > arr[arr.length - 1…

git 提炼笔记

1、设置用户名和邮箱&#xff08;邮箱可以不是真的&#xff09; git config --global user.name test101 // 设置用户名为 test101git config --global user.email test101test101.cn // 设置邮箱为test101test101.cn2、查看用户名和邮箱 git config --global user.name git…

索引的数据结构(MySql高级)

索引的数据结构 为什么使用索引什么是索引索引的优缺点优点缺点 常见索引概念聚簇索引二级索引(辅助索引, 非聚簇索引)InnoDB的B树索引的注意事项 MyISAM 与 InnoDB 对比索引的代价 为什么使用索引 索引是存储引擎用于快速找到数据记录的一种数据结构&#xff0c;就好比一本教…

用使用pandas拆分excel单元格

要使用pandas拆分Excel单元格&#xff0c;你可以使用pandas的read_excel函数读取Excel文件&#xff0c;然后使用str.split()方法拆分单元格。 以下是一个示例代码&#xff0c;演示如何使用pandas拆分Excel单元格&#xff1a; python复制代码 import pandas as pd # 读取Excel…