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

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

 

相关文章:

  • 【C++】vector容器初步模拟
  • python初始化二维数据
  • 实体框架EF(Entity Framework)简介
  • linux之shell脚本基础
  • DEYOv2: Rank Feature with Greedy Matchingfor End-to-End Object Detection
  • 无线局域网——wlan
  • 【Python 48小时速成 8】函数
  • Spring如何解决循环依赖?
  • macOS 通过 MacPorts 正确安装 MySQL 同时解决无法连接问题
  • postgresql查看数据库占用空间大小
  • 《如何使用C语言去下三子棋?》
  • qt+ffmpeg 实现音视频播放(二)之音频播放
  • 【UE5】动画蒙太奇简述
  • K8S日志收集方案-EFK部署
  • 第五篇:数字视频广告格式概述 - IAB视频广告标准《数字视频和有线电视广告格式指南》
  • 【css3】浏览器内核及其兼容性
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 10个确保微服务与容器安全的最佳实践
  • iOS编译提示和导航提示
  • Laravel核心解读--Facades
  • opencv python Meanshift 和 Camshift
  • vue 配置sass、scss全局变量
  • vue的全局变量和全局拦截请求器
  • 阿里云应用高可用服务公测发布
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 悄悄地说一个bug
  • 数组的操作
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • $.ajax()参数及用法
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (pojstep1.1.2)2654(直叙式模拟)
  • (solr系列:一)使用tomcat部署solr服务
  • (编译到47%失败)to be deleted
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (一)基于IDEA的JAVA基础12
  • (一)认识微服务
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET Core中Emit的使用
  • .NET 反射的使用
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET开发人员必知的八个网站
  • [ IO.File ] FileSystemWatcher