Vue3学习日记 Day4 —— pnpm,Eslint

注:此课程需要有Git的基础才能学习

一、pnpm包管理工具

1、使用原因

1.1、速度快,远胜过yarn和npm

1.2、节省磁盘空间

2、使用方式

2.1、安装方式

npm install -g pnpm

2.2、创建项目

pnpm create vue

二、Eslint配置代码风格

1、环境同步

1、禁用Prettier插件(如果安装了)

2、安装Eslint插件,并配置保存时自动修复

2.1、步骤

(1)打开vscode设置

(2)点击右上角配置

(3)设置"source.fixAll"为true

2、配置文件 .eslintrc.cjs

//将以下代码加入到eslinterc.cjs钟,实现代码规范化配置

rules: {

'prettier/prettier': [

'warn',

{

singleQuote: true, // 单引号

semi: false, // 无分号

printWidth: 80, // 每行宽度至多80字符

trailingComma: 'none', // 不加对象|数组最后逗号

endOfLine: 'auto' // 换行符号不限制(win mac 不一致)

}

],

'vue/multi-word-component-names': [

'warn',

{

ignores: 'index' // vue组件名称多单词组成(忽略index.vue)

}

],

'vue/no-setup-props-destructure': 'off', // 关闭 props 解构的校验

// 💡 添加未定义变量错误提示,create-vue@3.6.3 关闭,这里加上是为了支持下一个章节演示。

'no-undef': 'error'

}

三、配置代码检查工作流

1、配置代码提交前检查

0、打开bash终端

1、初始化git仓库

------执行git init

2、初始化husky工具配置

------执行

pnpm dlx husky-init && pnpm install

3、修改.husky/pre-commit文件

将npm test

修改为pnpm lint

//pnpm lint会对所有文件进行校验,并尝试进行修复

2、暂存区eslint校验

1、概念

由于lint是全量校验,而面对历史问题没有办法,所以引出了eslint校验

2、使用

2.1、安装int-staged

pnpm i lint-staged -D

2.2、在package.json中配置lint-staged命令

//将以下命令添加到package.json中

"lint-staged": {

"*.{js,ts,vue}": [

"eslint --fix"

]

}

...

//将以下命令添加到package.json下scripts之中

"lint-staged": "lint-staged"

2.3、在.husky/pre-commit文件中进行修改

将pnpm lint修改为pnpm lint-staged

四、目录调整

1、删除无用文件

2、添加utils目录用于存放工具函数,api目录用于存放请求模块相关

3、拷贝全局样式和图片,安装预处理器支持

4、安装sass

pnpm add sass -D

相关推荐
程序员黑豆5 小时前
鸿蒙应用开发:Stack堆叠组件实战——实现微信消息角标效果
前端·harmonyos
魔城烟雨5 小时前
从零开始学习betaflight《3-硬件接口设计规范标准》
学习·设计规范
夏幻灵5 小时前
浏览器原理深度解析:从输入 URL 到页面展现的全流程剖析
前端
会周易的程序员5 小时前
js-shm: 高性能 Node.js 共享内存模块
开发语言·javascript·c++·node.js·共享内存·shm
闲猫5 小时前
Agent工程实践:从WorkFlow到多Agent协作的落地笔记
java·服务器·前端
带娃的IT创业者6 小时前
重新定义前端构建速度:深度解析 SWC 如何用 Rust 颠覆 JavaScript 工具链
前端·javascript·rust·前端构建·swc
happy_0x3f6 小时前
前端应用的离线暂停更新策略
开发语言·前端·php
m0_547486666 小时前
《Vue.js + uni-app全栈开发从入门到实践 》全套PPT课件2026版
vue.js·uni-app
你驴我6 小时前
WhatsApp 消息撤回与编辑的幂等性设计实践
java·服务器·前端·后端·python
新中地GIS开发老师7 小时前
零基础WebGIS开发入门 | GeoJSON数据持久化
前端·javascript·gis·webgis·三维gis开发