| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> vue3项目搭建规范:项目搭建、代码规范、git commit规范(项目实战) -> 正文阅读 |
|
[JavaScript知识库]vue3项目搭建规范:项目搭建、代码规范、git commit规范(项目实战) |
一、项目搭建?如果已经全局安装过旧版本的vue-cli
然后安装
如果npm run serve出现错误 卸载已经安装旧版本的vue
安装指定版本
1.创建项目
2.手动选择特性 ② default(babel,eslint):默认设置(直接enter)非常适合快速创建一个新项目的原型,没有带任何辅助功能的 npm包 ③ Manually select features:自定义配置(按方向键 ↓)是我们所需要的面向生产的项目,提供可选功能的 npm 包 选择③Manually select features ?
? ?二、代码规范1. 集成editorconfig配置
在根目录下添加.editorconfig文件
VSCode需要安装一个插件:EditorConfig for VS Code,才能读取.editorconfig文件 2. 使用prettier工具Prettier 是一款强大的代码格式化工具,支持 JavaScript、TypeScript、CSS、SCSS、Less、JSX、Angular、Vue、GraphQL、JSON、Markdown 等语言,基本上前端能用到的文件格式它都可以搞定,是当下最流行的代码格式化工具。 1.安装prettier
2.配置.prettierrc文件: 在根目录下添加.prettierrc文件 * useTabs:使用tab缩进还是空格缩进,选择false;
?3.创建.prettierignore忽略文件
5.测试prettier是否生效? * 测试一:在代码中保存代码; 在package.json中配置一个scripts,后运行npm run prettier即可全局修改代码
3. 使用ESLint检测1.在前面创建项目的时候,我们就选择了ESLint,所以Vue会默认帮助我们配置需要的ESLint环境。 2.VSCode需要安装ESLint插件: 3.解决eslint和prettier冲突的问题: 安装插件:(vue在创建项目时,如果选择prettier,那么这两个插件会自动安装,所以就不用再手动安装,在.eslintrc.js文件中,添加一下插件即可。'plugin:prettier/recommended')
添加prettier插件:
添加后如果还报冲突,将项目关闭重启一下即可 4.当项目中eslink提示警告,但是又需要这样写 可以在 .eslintrc.js 中修改规则,关掉警告。 即把警告提示中的内容,如提示?eslint(@typescript-selint/no-var-requires),就将()里的@typescript-selint/no-var-requires复制,添加到 .eslintrc.js文件的rules:中 4. git Husky和eslint虽然我们已经要求项目使用eslint了,但是不能保证组员提交代码之前都将eslint中的问题解决掉了: * 也就是我们希望保证代码仓库中的代码都是符合eslint规范的; * 那么我们需要在组员执行 `git commit ` 命令的时候对其进行校验,如果不符合eslint规范,那么自动通过规范进行修复; 那么如何做到这一点呢?可以通过Husky工具: * husky是一个git hook工具,可以帮助我们触发git提交的各个阶段:pre-commit(预提交)、commit-msg、pre-push(代码push到服务器之前) 如何使用husky呢? 这里我们可以使用自动配置命令:
运行完在package.json中的"devDependencies":{}中安装上husky(下面1.),而且在根目录下会生成出一个.husky文件夹,代码执行git commit -m ""之前,会执行这个文件里的文件,自动对代码进行lint校验。这个文件夹里的pre-commit文件里内容为
即这里会做三件事: 1.安装husky相关的依赖: ?2.在项目目录下创建 `.husky` 文件夹: 3.在package.json中添加一个脚本:? 这个时候我们执行git commit的时候会自动对代码进行lint校验。 ?5. git commit规范1. 代码提交风格通常我们的git commit会按照统一的风格来提交,这样可以快速定位每次提交的内容,方便之后对版本进行控制。 但是如果每次手动来编写这些是比较麻烦的事情,我们可以使用一个工具:Commitizen * Commitizen 是一个帮助我们编写规范 commit message 的工具; 1.安装Commitizen
2.安装cz-conventional-changelog,并且初始化cz-conventional-changelog:
这个命令会帮助我们安装cz-conventional-changelog: ?并且在package.json中进行配置: ?这个时候我们提交代码需要使用 `npx cz`:
第一步是选择type,本次更新的类型
* 第二步选择本次修改的范围(作用域)(ex:登录模块写个 login) * 第三步选择提交的信息?(描述ex:corderwhy login style) * 第四步提交详细的描述信息(可以不写,回车跳过) ? * 第六步是否影响某个open issue(一般公司项目没有,选择N) 我们也可以在scripts中构建一个命令来执行 cz: 有的可能不适应npx cz命令提交代码,可以在package.json中添加下面命令,提交时执行:npm run commit即可 ?通过git log 可以查看提交的结果 2. 代码提交验证如果我们按照cz来规范了提交风格,但是依然有同事通过 `git commit` 按照不规范的格式提交应该怎么办呢? * 我们可以通过commitlint来限制提交; 1.安装 @commitlint/config-conventional 和 @commitlint/cli
?2.在根目录创建commitlint.config.js文件,配置commitlint
3.使用husky生成commit-msg文件,提交前验证提交信息:不符合规范就提交不了
三、用github托管代码步骤问:怎么把当前写好的项目git到远程仓库 答:先去github创建一个和你本地仓库同名的空的远程仓库,然后回远程仓库主页复制两条命令到本地仓库执行,之后正常的add/commit/push
用github托管代码 在github创建仓库,将本地代码与github仓库联系起来 方法一: 将git上创建的项目clone下来
将要上传的代码拷贝到下载的supermall中,不用拷贝.git文件
方法2:将已有仓库和本地代码联系起来 git创建空仓库时,跳转到code页面会出现操作指令
在本地项目命令行中输入上面指令即可。 遇到的问题: 输入git remote add origin https://github.com/mier17717/supermall.git 报错:fatal: remote origin already exists. 解决方法:
输入git push -u origin main报错:error: src refspec main does not match any 可从开始输入
|
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 12:46:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |