搭建规范化的vue2项目

项目包含的库

Vue2+Vuex+Router+Eslint+Prettier

环境

vue:2.6.14

eslint:7.32.0

prettier:2.4.1

eslint-plugin-prettier:4.0.0

eslint-plugin-vue:8.0.3

@vue/cli:5.0.8

步骤

  1. 全局安装cli工具

    npm install -g @vue/cli
    
  2. 运行创建项目命令

    vue ui
    

    运行 vue create xxx 也可以,这种是在命令行中选择配置项,上面那个是在网页中点击选择

    之前创建过项目的一般默认会进入之前的项目仪表盘,点击项目名下拉框-选择Vue 项目管理器-创建(或者在页面左下角有个小的房子icon-创建)

    建议在想要创建项目的目录下运行上面命令,这样(之前没使用过cli创建项目)默认会是当前的目录

    尽量不要切换盘符或者进入很多目录的路径,会出现进入失败情况

  3. 选择配置项

    选择好目录之后,点击下方的在此创建新项目

    详情

    • 填写项目名,例如:vue-standard
    • 包管理器选择,例如:npm(按照自己习惯选择)
    • 若目标文件夹已存在则将其覆盖 ,不建议打开,容易出现问题
    • 无新手指引的脚手架项目 ,随意配置
    • 初始化 git 仓库 (建议) ,一般是打开的(因为项目管理基本都是使用git的,会进行git初始化)
    • 提交信息,进行提交信息的覆盖,可以根据团队提交信息规范填写,没有规范就按照自己习惯填写,例如:chore: init
    • 点击下一步

    预设

    • 一般选择手动,自己进行个性化配置设置
    • 点击下一步

    功能

    • Babel,这个基本不存在不选择的情况
    • TypeScript,建议vue3项目选择(不熟悉也可以不选择),vue2项目一般不选择(对TS支持不够好)
    • Progressive Web App (PWA) Support,使用web平台技术构建的应用程序,一般是不选择的
    • Router,一般情况下选择,如果不使用路由的可以不选择
    • Vuex,根据项目需求选择,需要共享状态的项目会选择
    • CSS Pre-processors,一般情况下选择,想要使用Sass、Less、Stylus,一定要选择
    • Linter / Formatter,代码校验格式化配置,本案例就是要搭建规范化项目,所以这个一定是勾选的,一般情况下也是建议选择的
    • Unit Testing,这个根据需要,敏捷开发一般是不选择的,想要项目健壮并且有时间编写单元测试的可以选择
    • E2E Testing,这个也是用来测试,敏捷开发一般是不选择的,想要项目健壮并且有时间编写测试代码的可以选择
    • 使用配置文件,一般是选择的,不然所有配置会放到package.json里面
    • 点击下一步

    案例选择

    在这里插入图片描述

    配置

    • Choose a version of Vue.js that you want to start the project with,选择vue版本,本案例选择的2.X,这个根据团队或个人技术栈来选择
    • Use history mode for router?,这个根据喜好和需求进行选择,路由是否带有#
    • Pick a CSS pre-processor:,这个根据UI库和个人喜好选择,一般选择UI库使用的,ElementUI使用Sass,例如:Sass/SCSS (with dart-sass)
    • Pick a linter / formatter config:,建议选择ESLint + Prettier,也可以根据喜好选择其他的规范,不想要复杂校验也可以选择ESLint with error prevention only
    • Pick additional lint features:
      • Lint on save,一般是选择的(规范化项目),保存时进行校验
      • Lint and fix on commit,这个根据需要选择,git提交代码时校验,打开后格式有问题时无法提交代码
      • 点击创建项目
    • 预设名,有预设下次同样配置可以直接选择预设
  4. 完成创建

    • 按照上面步骤操作之后,只需要等待项目创建完成即可,建议不在页面中进行依赖插件添加,防止使用时出现编写错误(如果你非常熟练可以忽略此建议),找到依赖官网按照步骤操作能减少错误
    • 完成创建之后进入项目仪表盘,配置菜单中会有vue和eslint的相关配值页面,可以进行个性化修改(本案例未做修改)
  5. 完善配置

    • 修改 .eslintrc.js配置文件,完善规则使用自己或团队习惯的规则

    • 增加 .prettierrc.js配置文件,修改prettier相关规则

    • 增加.eslintignore配置文件,设置那些文件不需要eslint校验

    • 增加.prettierignore配置文件,设置那些文件不需要prettier校验

    • 增加.vscode/settings.json文件,设置VsCode更加方便开发,没有这个文件可以点击管理(左下角的轮子icon)-设置-工作区-打开设置(json)(右上角弯曲箭头+纸张的icon)就会自动新建出来文件,设置一些保存自动修改等配置

      .gitignore文件中设置忽略了.vscode,要想提交修改,需要删除

    • VsCode插件安装:ESLint、Prettier - Code formatter、Vue - Official

    详细案例配置请查看文末案例项目地址

遇到问题

1. 感觉eslint配置文件没有使用已安装依赖中的eslint-plugin-vue、eslint-plugin-prettier,或者是配置与其他博文不一样

原来文件内容.eslintrc.js

module.exports = {root: true,env: {node: true,},extends: ["plugin:vue/essential","eslint:recommended","plugin:prettier/recommended",],parserOptions: {parser: "@babel/eslint-parser",},rules: {"no-console": process.env.NODE_ENV === "production" ? "warn" : "off","no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",},
};

一些博文配置

module.exports = {root: true,env: {node: true,},extends: ["plugin:vue/essential","eslint:recommended","plugin:prettier/recommended",],plugins: ["vue","prettier",],parserOptions: {parser: "@babel/eslint-parser",},rules: {"no-console": process.env.NODE_ENV === "production" ? "warn" : "off","no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",},
};  

上面这样的是完全错误的,不要照着进行修改(不要问我为什么知道的o(╥﹏╥)o)

实际上,原项目中extends中的plugin:vue/essential相当于做了如下配置

module.exports = {parser: require.resolve('vue-eslint-parser'),parserOptions: {ecmaVersion: 2020,sourceType: 'module'},env: {browser: true,es6: true},plugins: ['vue'],rules: {... // 这里省略很多规则配置}
}

原项目中extends中的plugin:prettier/recommended相当于做了如下配置

module.exports = {extends: ['prettier'],plugins: ['prettier'],rules: {... // 这里省略很多规则配置}
}

所以完全没有必要修改!!!

2. VsCode中template上面使用v-for报错,不能在template上设置key

vue2的项目要求template上面使用v-for时,要在template上面设置key,但是vue3中这个要求确实反的,要像解决这个问题,安装Vetur插件,不安装或者禁用Vue - Official

3. VsCode没有在不符合规范的代码位置标红,已经安装Eslint插件

正常情况下,打开vue文件,右下角vue左边有个{}图标(没有这个图标,可以右键-勾选编辑器语言状态),鼠标移上去不显示Eslint就是有问题,解决办法是升级VsCode编辑器,1.91.1版本是可以的

4. Eslint修复之后,保存之后又变回去(VsCode配置保存自动修复),VsCode还是标红

这种原因是eslint和prettier规则冲突 :例如:prettier的singleQuote与eslint的quotes配置这两个都是关于引号的配置,如果一个要求单引号,一个要求双引号,这样就会出现问题

另一个原因是修改了规则,没有重启VsCode

5. 配置的eslint或者prettier规则没有生效

出现这种情况的原因是:配置的值错误;另一个原因是修改了规则,没有重启VsCode

配置的值错误,例如:.eslintrc.js中"quotes": “double”,这个时候保存会出现右下角vue左边有个{}图标多了一个x,或者单独把Eslint添加到状态栏会看到Eslint变红了,点击会看到报错内容,Configuration for rule “quotes” is invalid:Severity should be one of the following: 0 = off, 1 = warn, 2 = error (you passed ‘“double”’),想要设置这个需要两个值,这个时候需要是数组,“quotes”: [“error”, “double”]

prettier的规则trailingComma: “es5111”,这个时候保存出现右下角Prettier变红,点击可以看到Invalid trailingComma value. Expected “all”, “es5” or “none”, but received “es5111”,人家要求的是es5,trailingComma: “es5”

6. Prettier 格式化后,结束标签的 > 换行了

.prettierrc.js文件里面增加规则

htmlWhitespaceSensitivity: 'ignore'

案例项目地址

https://gitee.com/lydxwj/vue-standard
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3269013.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

pdf转图片在线转换免费 pdf转图片在线免费 pdf转图片免费在线 工具软件操作步骤方法

pdf转jpg转换后的图片质量不高、排版混乱?PDF和JPG是我们日常工作中最常接触的两种文件格式。很多时候,我们需要将PDF文件转换为JPG格式,方便在不同场合中使用,而JPG是一种广泛使用的图片格式,它在图像质量和文件大小之…

在 LCD 上显示 png 图片-I.MX6U嵌入式Linux C应用编程学习笔记基于正点原子阿尔法开发板

在 LCD 上显示 png 图片 PNG 简介 无损压缩:PNG 使用 LZ77 派生算法进行无损压缩,确保图像质量不受损,且压缩比高 体积小:通过高压缩比,PNG 文件体积小,适合网络传输 索引彩色模式:PNG-8 格式…

1. Vue3入门

文章目录 使用create-vue创建项目关键文件<script setup>语法糖组合式API - reactive和ref函数组合式API - computed组合式API - watch组合式API - 生命周期函数组合式API - 父子通信组合式API - 模版引用组合式API - provide和inject综合案例 使用create-vue创建项目 n…

鸿蒙HarmonyOS【应用开发五、布局使用】

✍️作者简介&#xff1a;小北编程&#xff08;专注于HarmonyOS、Android、Java、Web、TCP/IP等技术方向&#xff09; &#x1f433;博客主页&#xff1a; 开源中国、稀土掘金、51cto博客、博客园、知乎、简书、慕课网、CSDN &#x1f514;如果文章对您有一定的帮助请&#x1f…

CogVideo 实测,智谱「清影」AI视频生成,全民免费,连 API 都开放了!

不得不说&#xff0c;AI 视频生成界最近非常火热~ 前有快手「可灵」开放内测&#xff0c;一下子带火了老照片修复&#xff0c;全网刷屏&#xff1a; 怕是你还没拿到内测资格&#xff0c;被称为 “国货之光” 的「可灵」就结束了免费无限量模式。每天只有66点的免费额度&#x…

【全国大学生电子设计竞赛】2023年H题

&#x1f970;&#x1f970;全国大学生电子设计大赛学习资料专栏已开启&#xff0c;限时免费&#xff0c;速速收藏~

鸿蒙华为登录(以及导航页面跳转)

//登录华为登录界面以及跳转 //切记一定要写路径&#xff0c;不写路径&#xff0c;容易报错&#xff0c;还有一定要记得导一下包&#xff08;Arouter&#xff09; //接下来是鸿蒙界面导航跳转 //进行跳转 TabContent组件不支持设置通用宽度属性&#xff0c;其宽度默认撑满Tab…

AI周报(7.21-7.27)

AI应用-一款能提供情绪价值的智能鸟类喂食器&#xff08;Bird Buddy&#xff09; 图像识别技术&#xff1a;Bird Buddy装备了图像识别技术&#xff0c;能够识别超过1000种鸟类&#xff0c;涵盖了常见的鸟类品种。这种技术能够在鸟类经过时&#xff0c;通过内置麦克风捕捉的声音…

ctfshow web入门 中期测评 web492--web502

web492 <?php include(render/render_class.php); include(render/db_class.php);$action$_GET[action]; if(!isset($action)){header(location:index.php?actionlogin);die(); }if($actioncheck){extract($_GET);if(preg_match(/^[A-Za-z0-9]$/, $username)){$sql &qu…

GUL图形化界面操作(下部)

目录 ​编辑 前言 Swing 窗口 注意点 新增的组件 进度条组件 开关按钮 多面板和分割面板 多面板 分割面板 ​编辑 选项窗口 对话框带三个选项是&#xff0c;否&#xff0c;取消。 对话框提示输入文本: 前言 修炼中&#xff0c;该篇文章为俺很久前的学习笔记 Swi…

【React】详解 Redux 状态管理

文章目录 一、Redux 的基本概念1. 什么是 Redux&#xff1f;2. Redux 的三大原则 二、Redux 的核心组件1. Store2. Action3. Reducer 三、Redux 的使用流程1. 安装 Redux 及其 React 绑定2. 创建 Action3. 创建 Reducer4. 创建 Store5. 在 React 应用中使用 Store6. 连接 React…

网络通信---UDP

前两天做了个mplayer项目&#xff0c;今日继续学习 网络内容十分重要&#xff01;&#xff01;&#xff01; 1.OSI七层模型 应用层:要传输的数据信息&#xff0c;如文件传输&#xff0c;电子邮件等&#xff08;最接近用户&#xff0c;看传输的内容类型到底是什么&#xff09; …

【资料分享】2024第三届钉钉杯大学生大数据挑战赛B题思路解析+双语言代码

2024钉钉杯大学生大数据挑战赛&#xff0c;B题解题思路和双语言代码分享&#xff0c;资料预览&#xff1a;

jenkins参数化构建在UI中定义脚本中使用

先看配置&#xff1a; 流水线脚本&#xff1a; pipeline {agent {//label "${server}"label "${28}"}stages {stage(Hello) {steps {echo "--------------------------"// 只有这个可以输出变量echo "${character_argument}"echo &q…

瑞芯微芯片资料中关于图像处理相关的知识点

目录 MPI层模块介绍IPC的应用像素格式排布系统绑定API接口 MPI层 文件&#xff1a;Rockchip_Developer_Guide_MPI.pdf RK MPI&#xff1a;Rockchip Media Process Interface&#xff0c;媒体处理接口。 模块介绍 RK MPI层的模块介绍&#xff1a; IPC的应用 VI 模块捕获视频…

WordPress原创插件:自定义文章标题颜色

插件设置截图 文章编辑时&#xff0c;右边会出现一个标题颜色设置&#xff0c;可以设置为任何颜色 更新记录&#xff1a;从输入颜色css代码&#xff0c;改为颜色选择器&#xff0c;更方便&#xff01; 插件免费下载 https://download.csdn.net/download/huayula/89585192…

【一图流】Git下载与安装教程

下载Git Git官网&#xff1a;https://git-scm.com/?hlzh-cn 安装Git

IDEA git配置

1. git下载 您可以从git官方网站下载git。在https://git-scm.com/downloads下载页面上&#xff0c;您可以选择适用于您的操作系统的版本进行下载。 2、idea配置git(version control)

一步步教你学会如何安装VMare虚拟机(流程参考图)

前言&#xff1a;一步步教你安装VMare虚拟机&#xff08;此版本为17.5。2版本&#xff09;。 1、安装 2、确认协议 3、选择位置存放 4、选择第二个 5、都不选。 6、都选提供便捷操作 7、点击许可证&#xff0c;将密钥输入&#xff08;可以在网络寻找自己版本的密钥&#xff…

Linux定时器与时间轮 实现网络连接超时关闭

目录 原理理解 定时器超时触发可读事件机制 定时器 Linux定时器 Linux内核定时器API 时间轮 ​编辑 使用方法 时间轮与基于事件驱动配合 回调函数与定时器 梳理定时器加入到Reactor服务器的整体逻辑 EventLoop模块如何将新连接放入时间轮管理 新连接和定时器封装逻辑…