当前位置: 首页 > article >正文

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

 88a1848e27384a3ab124b8583eb94ee4.png

 c82ad62191d34ec691e78af45b8b76ec.png

 二、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会对所有文件进行校验,并尝试进行修复

1da10685f86746139060a87beda06fc2.png

2e6014e08afc4f6d9cb7bae810300351.png

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

 


http://www.kler.cn/a/273531.html

相关文章:

  • unity3d————叉乘的知识点
  • js.轮转数组和旋转链表
  • 常用的 Lambda 表达式案例解析
  • Python并发编程库:Asyncio的异步编程实战
  • 深入学习 Scrapy 框架:从入门到精通的全面指南
  • CSS--两列网页布局,三列布局和多行多列布局
  • 软考真题详解-系统架构设计师-计算机基础知识(1)
  • 【精准】北斗同步时钟(北斗卫星授时服务器)助力医疗信息化
  • 生产环境中间件服务集群搭建-zk-activeMQ-kafka-reids-nacos
  • 深度解析大模型:概念、架构与应用价值
  • 20240318uniapp怎么引用组件
  • 苹果计划与谷歌合作使用Gemini AI技术,提升iPhone功能,同时探索与OpenAI合作可能性
  • WPF —— ListBox控件、GroupBox控件详解
  • linux安装WordPress问题汇总,老是提示无法连接到FTP服务器解决方案
  • Three.js--》探寻Cannon.js构建震撼的3D物理交互体验(一)
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(画布组件:Canvas)
  • 从入门到精通:深入解析IO流之FileWriter类的使用技巧!
  • 能不能绕过c去学c++?
  • arm32机器的ubuntu1804的源突然不能update了
  • flutter使用记录(vscode开发)
  • 阿里巴巴国际站商品采集商品信息抓取API免费测试入口(英文商品信息跨境电商商品信息自动化抓取)
  • 05|输出解析:用OutputParser生成鲜花推荐列表
  • 使用JAXB生成XML的Java对象
  • Hive:数据仓库利器
  • 关系数据库标准语言SQL
  • 链表练习1