vite+vue3+ts+eslint+prettier+husky+lint-stated 项目搭建

news/2024/11/17 9:42:19/

项目搭建

创建初始项目

Node.js 版本 14.18+,16+

npm create vite@latest my-vue-app --template vue-ts

添加eslint

  1. eslint 初始化
    npm init @eslint/config

    eslint初始化脚本,按自己的要求选择相应的eslint 配置,以下是我选择的配置项

    ✔ How would you like to use ESLint? · style
    ✔ What type of modules does your project use? · esm
    ✔ Which framework does your project use? · vue
    ✔ Does your project use TypeScript? · No / Yes
    ✔ Where does your code run? · browser
    ✔ How would you like to define a style for your project? · guide
    ✔ Which style guide do you want to follow? · standard-with-typescript
    ✔ What format do you want your config file to be in? · JavaScript

    经过检查本地的依赖然后列出配置项所需的依赖:

    会提示我们是否立即下载依赖,下载完成后会在根目录下自动生成eslint配置文件, 以下是我生成的配置文件.eslintrc.cjs,生成配置文件后,我们可以通过overrides指定eslint校验的范围,也可以自定义校验规则。

    此时我们的项目里可能会报错, 我们需要改一下tsconfig的配置,(项目搭建问题记录Q3)。

    module.exports = {env: {browser: true,es2021: true,},extends: ["plugin:vue/vue3-essential", "standard-with-typescript"],overrides: [{files: "src/*.{js,ts,vue}", // 指定检查的目标文件,不需要额外添加.eslintignore},],parserOptions: {ecmaVersion: "latest",sourceType: "module",project: "tsconfig.json",},plugins: ["vue"],rules: {"@typescript-eslint/triple-slash-reference": "off", // 允许三斜杠引用其他模块的类型},
    };
    
  2. 在package.json 配置eslint修复脚本

    "scripts": {"dev": "vite","build": "vue-tsc && vite build","preview": "vite preview","eslint": "eslint --ext src/*.{js,ts,vue} --fix",},
    

添加prettier

  1. 下载依赖

    npm install prettier eslint-config-prettier --save-dev

    eslint-config-prettier: 防止eslint 规则和prettier 格式化规则冲突,冲突的规则将使用prettier的规则

  2. 在根目录下创建配置文件.prettierrc.json和格式化忽略文件.prettierignore

    	 {"printWidth": 120,"tabWidth": 2,"semi": true,"trailingComma": "none","arrowParens": "avoid","endOfLine": "auto"}
    
  3. 在package.json 配置格式化脚本 format

    "scripts": {"dev": "vite","build": "vue-tsc && vite build","preview": "vite preview","eslint": "eslint --ext src/*.{js,ts,vue} --fix","format": "prettier --write ."},
    

添加husky && lint-staged

  1. 下载依赖

    npm install --save-dev husky lint-staged
    npx husky install
    npm pkg set scripts.prepare="husky install"
    npx husky add .husky/pre-commit "npx lint-staged"
    
  2. 在package.json 添加配置

    "lint-staged": {"*.{js,ts,vue}": ["npm run eslint","npm run format"]}
    

项目搭建问题记录

  1. Module ‘“xx.vue“‘ has no default export.Vetur(1192)

    A: Vue2 使用Vetur用于 Vue 语法的支持的高亮,Vue3 官方推荐使用Volar拓展,我们将Vetur拓展卸载就可以了。

  2. eslint 报错 Error while loading rule '@typescript-eslint/dot-notation': You have used a rule which requires parserServices to be generated. You must therefore provide a value for the "parserOptions.project" property for @typescript-eslint/parser.

    A: eslintrc.cjs 配置 parserOptions.project

     parserOptions: {ecmaVersion: "latest",sourceType: "module",project: "tsconfig.json", // 添加解析配置
    }
    
  3. tsconfig.jsonmoduleResolution: "bundler"会提示波浪线,报错提示在没有 "node" 模块解析策略的情况下,无法指定选项 "-resolveJsonModule"。ts
    A: 将moduleResolution: “node”, 并移除allowImportingTsExtensions: true


http://www.ppmy.cn/news/247156.html

相关文章

软件测试人员迷茫之中如何找到职业发展的方向?

出现迷茫或焦虑的原因是什么? 也许每个人的原因不一样,但不外乎是下面这些原因叠加的结果。 1、敏捷和DevOps开发模式的推行,虽然20年的历史是否已经证明“敏捷已经失败了” 暂且不管,但敏捷/DevOps之风刮的还是很厉害&#xff0c…

Advanced features

在处理特征时不仅可以单独地处理每个特征,还可以将它们联合起来处理,如下面的数据中,后面三个生成的特征,是根据user_id和page_id分组聚合生成的最大价格,最小价格,最小价格坐在网页位置, 除…

pm模式 raid_Adaptec RAID PM8060 用户手册.pdf

Adaptec RAID PM8060 用户手册 PM8060 RAID 用户手册 尊敬的浪潮英信服务器用户: 衷心感谢您选用浪潮英信服务器! 本手册将为您简单介绍一下PM8060 RAID 的特色功能 和常操作下的安装使用方法。 浪潮集团有限公司拥有本手册的版权。未经浪潮集团有限公司许可,任何单位和个人…

常见Adapter

本文来自 柠檬的博客 http://blog.sina.com.cn/demonzym 从google的demo开始,第一个NoteList开始就出现了Adapter、List,而观察常见的一些android应用,跟adapter相关的界面也经常出现,所以觉得,不好好学习一下&#…

Adapter接口

public interface Adapter android.widget.Adapter是用于绑定Data和AdapterView 的适配器 实现它的直接接口类有: ListAdapter SpinnerAdapter Adapter定义了很多接口: Public Methods abstract int getCount() How many items are in the data…

2023 WWW Adap-: Adaptively Modulating Embedding Magnitude for Recommendation

目录 1 摘要 2 研究背景 2.1 损失函数 2.2 表征模长 3 表征模长理论分析 3.1 理论分析</

【硬件相关】LSI MegaRAID卡配置管理

一、前言 官方手册说明&#xff1a;StorCLI Reference Manual 华为服务器操作维护说明&#xff1a;华为V2&V3服务器 RAID控制卡 用户指南 49 目前市面常见的RAID卡主要是LSI MegaRAID和PMC Adaptec&#xff0c;前者使用命令行工具为storcli&#xff0c;后者使用命令行工具为…

Adapter Design

把已经实现类的接口转化为客户端可以接受的接口&#xff0c;解决不同类的接口兼容问题。 1.你想使用一个已经存在的类&#xff0c;但是他的接口不符合你的要求 2.你想创建一个可以复用的类。 使得一个类或者多个类的接口看起来像一个特定类的接口。 1.Target:客户端所需要的…