首页 > 其他分享 >初始化一个vite+vue3的前端项目要做的额外的事儿

初始化一个vite+vue3的前端项目要做的额外的事儿

时间:2024-01-16 14:22:08浏览次数:26  
标签:初始化 vue false plugin prettier vue3 true vite eslint

添加 .editorconfig 文件

# http://editorconfig.org
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 4
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
insert_final_newline = false
trim_trailing_whitespace = false

添加 ESLint

参考 https://juejin.cn/post/7142815651294511135

  1. 安装依赖
npm add -D eslint vite-plugin-eslint @babel/core  @babel/eslint-parser
  1. 根目录创建 .eslintrc.cjs
module.exports = {
    "root":true,
	"env": {
		"browser": true,
		"es2021": true,
		"node": true
	},
	"extends": [
        'eslint-config-prettier',
		"eslint:recommended", // 使用推荐的eslint
		"plugin:@typescript-eslint/recommended",
		"plugin:vue/vue3-essential",
        'plugin:vue/vue3-essential',
        //1.继承.prettierrc.js文件规则  2.开启rules的 "prettier/prettier": "error"  3.eslint fix的同时执行prettier格式化
        'plugin:prettier/recommended',
	],
    "parser": 'vue-eslint-parser',
	"parserOptions": {
		"ecmaVersion": "latest",
		"parser": "@typescript-eslint/parser",
		"sourceType": "module"
	},
	"plugins": [
		"@typescript-eslint",
		"vue"
	],
    globals: {
        defineProps: 'readonly',
        defineEmits: 'readonly',
        defineExpose: 'readonly',
        withDefaults: 'readonly',
    },
	"rules": {

	}
};

  1. 配置vite.config.ts 文件
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import eslintPlugin from 'vite-plugin-eslint';

// https://vitejs.dev/config/
export default defineConfig({
	plugins: [
		vue(),
		eslintPlugin({
			include: ['src/**/*.ts', 'src/**/*.vue', 'src/*.ts', 'src/*.vue'],
		}),
	],
	// 其他配置 ......
});
  1. webstorm 开启 eslint

如果是vscode, 则需要安装 ESLint插件

安装 Prettier

  1. 安装依赖
npm add -D prettier
npm add -D eslint-config-prettier #eslint兼容的插件
npm add -D eslint-plugin-prettier #eslint的prettier
  1. 根目录添加 .prettierrc.cjs 文件

在根目录下面添加.prettierrc.js文件夹,然后将下面的配置添加到其中。如果不想格式化某些文件可以再添加一个.prettierignore的文件,用法和.gitignore文件差不多,将不需要格式化的文件夹或文件通过正则匹配或者具名的方式添加进去,这样就不会格式化对应的文件了。

// .prettierrc.js
module.exports = {
    // 一行最多多少个字符
    printWidth: 120,
    // 指定每个缩进级别的空格数
    tabWidth: 4,
    // 使用制表符而不是空格缩进行
    useTabs: true,
    // 在语句末尾是否需要分号
    semi: true,
    // 是否使用单引号
    singleQuote: true,
    // 更改引用对象属性的时间 可选值"<as-needed|consistent|preserve>"
    quoteProps: 'as-needed',
    // 在JSX中使用单引号而不是双引号
    jsxSingleQuote: false,
    // 多行时尽可能打印尾随逗号。(例如,单行数组永远不会出现逗号结尾。) 可选值"<none|es5|all>",默认none
    trailingComma: 'none',
    // 在对象文字中的括号之间打印空格
    bracketSpacing: true,
    // jsx 标签的反尖括号需要换行
    jsxBracketSameLine: false,
    // 在单独的箭头函数参数周围包括括号 always:(x) => x \ avoid:x => x
    arrowParens: 'avoid',
    // 这两个选项可用于格式化以给定字符偏移量(分别包括和不包括)开始和结束的代码
    rangeStart: 0,
    rangeEnd: Infinity,
    // 指定要使用的解析器,不需要写文件开头的 @prettier
    requirePragma: false,
    // 不需要自动在文件开头插入 @prettier
    insertPragma: false,
    // 使用默认的折行标准 always\never\preserve
    proseWrap: 'preserve',
    // 指定HTML文件的全局空格敏感度 css\strict\ignore
    htmlWhitespaceSensitivity: 'css',
    // Vue文件脚本和样式标签缩进
    vueIndentScriptAndStyle: true,
    //在 windows 操作系统中换行符通常是回车 (CR) 加换行分隔符 (LF),也就是回车换行(CRLF),
    //然而在 Linux 和 Unix 中只使用简单的换行分隔符 (LF)。
    //对应的控制字符为 "\n" (LF) 和 "\r\n"(CRLF)。auto意为保持现有的行尾
    // 换行符使用 lf 结尾是 可选值"<auto|lf|crlf|cr>"
    endOfLine: 'auto',
    // 将>多行 HTML(HTML、JSX、Vue、Angular)元素放在最后一行的末尾,而不是单独放在下一行(不适用于自闭合元素
    bracketSameLine:false
};

  1. webstorm 开启 prettierrc

VsCode需要安装prettier插件

标签:初始化,vue,false,plugin,prettier,vue3,true,vite,eslint
From: https://www.cnblogs.com/shuiche/p/17967350

相关文章

  • vue3使用 vant ui 3 如何获取组件 popup dom的高度?
    我目前使用的是vant-ui 3.1.2popup弹出层组件,我想要获取弹出层的高度来计算一些东西,但是使用常规定义refdom的方式总是无法获取,最终找到方案如下:vant-ui官方文档:https://vant-contrib.gitee.io/vant/v3/#/zh-CN/popup<template><van-popupv-model:show="show......
  • WSL2 配置 ArchLinux 初始化环境
    这篇文章针对的是在Win11系统的WSL2下安装ArchLinux系统,网上很多中文教程都是使用LxRunOffline去做的,但是实际上该方法已经过时了,目前有更加先进的ArchWSL方式。基于LxRunOffline安装ArchLinux教程:Here如果用的是wsl1,不保证本教程可以适用。安装ArchLinux子系统......
  • vite构建的react+ts项目中使用arcodesign组件的问题
    今天在react项目中使用arcodesign组件库,引入的图标巨大无比,调样式也不起作用,如下图。网上找了也没看到类似的问题,去官网文档里看,发现是没有引入组件的样式。在我这个vite构建的react+ts项目中找到两个解决办法:第一个是直接引入全部样式import"@arco-design/web-react/dist/cs......
  • 【Vue2+3入门到实战】(21)认识Vue3、使用create-vue搭建Vue3项目、熟悉项目和关键文件
    目录一、认识Vue31.Vue2选项式APIvsVue3组合式API2.Vue3的优势二、使用create-vue搭建Vue3项目1.认识create-vue2.使用create-vue创建项目三、熟悉项目和关键文件四、总结一、认识Vue31.Vue2选项式APIvsVue3组合式API<script>exportdefault{data(){r......
  • 【Vue2+3入门到实战】(23)Vue3之组合式API - 父子通信、模版引用、provide和inject、Vue
    这里写自定义目录标题一、组合式API-父子通信1.父传子2.子传父二、组合式API-模版引用1.基本使用2.defineExpose三、组合式API-provide和inject1.作用和场景2.跨层传递普通数据3.跨层传递响应式数据4.跨层传递方法四、Vue3.3新特性-defineOptions五、Vue3.3新特性......
  • 为什么C++ 单例局部static初始化是线程安全的?
    为什么C++单例局部static初始化是线程安全的?constbg::AppSettings&bg::AppSettings::GetInstance(){staticAppSettingsinstance;returninstance;}对于以上单例模式代码,在C++11(及更高版本)中,函数局部静态AppSettings的构造保证是线程安全的。编译器将在AppS......
  • Vue 3 + TypeScript + Vite + Element-Plus + Router + Axios + Pinia项目搭建(内含完
    Vue3+TypeScript+Vite+Element-Plus+Router+Axios+Pinia项目搭建(内含完整架构)安装Vue3+ts+vitenpminitvite@latest选择y,新建项目名称,选择vue,选择vue-ts下载完成后执行以下命令行cd新建的项目名称npminpmrundev安装Element-Plusnpminstallelement-plus-......
  • Vue3环境安装
    curl-o-https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh|bashbashinstall.shsource/home/cc/.bashrcnvm--version#安装指定的版本nvminstallv12.22.12#安装当前稳定的LTS版本nvminstall--lts#切换版本nvmusev20.11.0#查看本地已安装的Nod......
  • 字符指针与字符数组的初始化
    字符指针可以初始化赋值一个字符串,字符数组初始化也可以赋值一个字符串。两者的区别是什么呢?#include<stdio.h>#include<string.h>intmain(){char*p="hello";//把字符串常量"hello"的首地址赋给pcharc[10]="hello";//等价于strcpy(c,"hello");c[......
  • [Palo Alto] Palo Alto安全防火墙初始化配置实例
    PaloAlto防火墙PaloAlto防火墙是一种高级的网络安全设备,由PaloAltoNetworks网络安全公司设计制造,用于保护企业网络免受各种网络威胁和入侵。PaloAlto防火墙提供以下网络安全功能:应用程序可见性和控制:PaloAlto防火墙可以深度检测和识别网络流量中的应用程序,包括常见的Web应用......