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

cargo创建个人网站安县移动网站建设

cargo创建个人网站,安县移动网站建设,网站需要写哪些内容吗,动态照片素材网站husky是一个Git Hook管理工具#xff0c;主要用于实现提交前eslint校验和commit信息的规范校验。 Husky 的原理是让我们在项目根目录中写一个配置文件#xff0c;然后在安装 Husky的时候把配置文件和 Git Hook 关联起来#xff0c;这样我们就能在团队中使用 Git Hook 了。 …husky是一个Git Hook管理工具主要用于实现提交前eslint校验和commit信息的规范校验。 Husky 的原理是让我们在项目根目录中写一个配置文件然后在安装 Husky的时候把配置文件和 Git Hook 关联起来这样我们就能在团队中使用 Git Hook 了。 首先确保已经安装了husky和commitlint。如果没有安装可以使用以下命令进行安装 npm install -D husky commitlint 在项目中启用husky钩子事实上是在项目根目录生成配置文件的文件夹.husky。查看.git/config可以看到配置中修改了core.hooksPath指向为.husky。 npx husky install 项目配置文件添加配置实现跑命令前先安装husky scripts: {prepare: husky install }, 添加husky hook的pre-commit配置文件。执行之后会增加文件.husky/pre-commit其中的注释是我另外添加的。 npx husky add .husky/pre-commit npm run lint #!/bin/sh # . 指令为source表示不产生新的shell在当前shell下执行命令共享上下文类似将两个文件拼接到一起 # 执行 .husky/_/husky.sh . $(dirname $0)/_/husky.shnpm run lint 类似的我们也可以添加commit-msg钩子来规范我们的commit message信息 npx husky add .husky/commit-msg npx --no-install commitlint --edit $1 在package.json文件中定义相关的指令。例如以下是一个示例配置 scripts: {dev: vite serve --mode development,build: vite build --mode test,preview: vite preview,test:unit: vitest --environment jsdom --root src/,lint: eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore,prepare: husky install,commitlint: commitlint --config commitlint.config.js -e -V }, 需要确保在项目的根目录下有一个eslint.config.js文件也可以是.eslintrc.js文件用于配置eslint和一个commitlint.config.js文件也可以是.commitlintrc.js用于配置commitlint .eslintrc.js module.exports {root: true,/**环境提供预定义的全局变量 */env: {/**Node.js全局变量和Node.js范围 */node: true,/**浏览器全局变量 */browser: true,},/**定义ESLint的解析器 */parser: vue-eslint-parser,parserOptions: {ecmaVersion: latest,sourceType: module,parser: typescript-eslint/parser,},/**定义文件继承的子规范 */extends: [eslint:recommended, plugin:vue/vue3-essential, plugin:typescript-eslint/recommended, ./.eslintrc-auto-import.json],plugins: [vue, typescript-eslint],rules: {no-var: error, //要求使用 let 或 const 而不是 varcamelcase: off, // 双峰驼命名格式indent: [error, 4, { SwitchCase: 1 }], //代码缩进2个空格semi: [error, always], //行尾需要有分号quotes: [error, single], //强制使用一致的反勾号、双引号或单引号linebreak-style: [error, windows], //强制使用一致的换行风格,unix\n 表示 LF , windows\r\n 表示 CRLF// eqeqeq: [error, always, { null: ignore }], //比较时强制使用 或者 !,但对null作比较时可以不用全等no-unused-vars: off,typescript-eslint/no-unused-vars: [warn,{argsIgnorePattern: ^_,varsIgnorePattern: ^_,},], //不允许使用未使用的变量typescript-eslint/no-explicit-any: off, //不允许任何类型typescript-eslint/no-empty-function: off, //不允许空函数vue/html-indent: [error, 4], //在template中强制一致缩进vue/singleline-html-element-content-newline: off, //要求在单行元素的内容之前和之后有一个换行符vue/max-attributes-per-line: off, //执行每行的最大属性数(被 prettier 最大单行控制了暂off)vue/multi-word-component-names: off, //要求组件名称始终为多字vue/html-self-closing: off, //执行自我封闭式no-undef: off, //禁用未声明的变量除非它们在 /*global */ 注释中被提到typescript-eslint/ban-ts-comment: off, // 不允许ts-指令评论或要求指令后的描述typescript-eslint/ban-types: off, // 不允许某些类型typescript-eslint/no-non-null-assertion: off, // 不允许使用后缀操作符的非空断言},globals: {//可以定义全局中的变量的权限只读可读可写defineProps: readonly,defineEmits: readonly,defineExpose: readonly,withDefaults: readonly,uni: readonly,},ignorePatterns: [// # 忽略目录/dist,/public,/src/public,/src/static,/node_modules,// # 忽略文件**/*-min.js,**/*.min.js,**/*-min.css,**/*.min.css,**/*.tsbuildinfo,**/*.config.js,**/*.config.ts,/src/manifest.json,], };commitlint.config.js module.exports {extends: [commitlint/config-conventional],rules: {type-enum: [2, always, [upd, feat, fix, refactor, docs, chore, style, revert]],type-case: [0],type-empty: [0],scope-empty: [0],scope-case: [0],subject-full-stop: [0, never],subject-case: [0, never],header-max-length: [0, always, 72]} }; rule配置说明:rule由name和配置数组组成如name:[0, always, 72]数组中第一位为level可选0,1,20为disable1为warning2为error第二位为应用与否可选always|never第三位该rule的值。 commitlint 的默认格式为 # 注意冒号前面是需要一个空格的, 带 表示非必填信息也可以根据自己项目需要自定义配置 type(scope?): subject body? footer? scope 指 commit 的范围哪些模块进行了修改 subject 指 commit 的简短描述 body 指 commit 主体内容长描述 footer 指 commit footer 信息 type 指当前 commit 类型一般有下面几种可选类型 upd更新某功能不是 feat, 不是 fixfeat新功能featurefix修补bugdocs文档documentationstyle 格式不影响代码运行的变动refactor重构即不是新增功能也不是修改bug的代码变动test增加测试chore构建过程或辅助工具的变动 使用示例 控制台报错Cannot find module commitlint/config-conventional 是因为缺少依赖执行下面的命令 npm i -D commitlint/config-conventional commitlint/cli husky给出了commit-msg的input为xxx触发了subject-emptytype-empty两个规则提交不符合规范被拦了下来。  正确的例子type后面要有空格 git commit -m feat: 增加 xxx 功能 git commit -m bug: 修复 xxx 功能 完成以上步骤后husky就已经配置好了。在提交代码时husky会自动执行eslint校验和commit信息的规范检查如果存在不符合规范的情况husky会阻止提交并给出相应的提示信息。 Git 支持的所有钩子见下表加粗的为常用钩子 Git Hook调用时机说明pre-applypatchgit am执行前applypatch-msggit am执行前post-applypatchgit am执行后不影响git am的结果pre-commitgit commit执行前可以用git commit --no-verify绕过commit-msggit commit执行前可以用git commit --no-verify绕过post-commitgit commit执行后不影响git commit的结果pre-merge-commitgit merge执行前可以用git merge --no-verify绕过。prepare-commit-msggit commit执行后编辑器打开之前pre-rebasegit rebase执行前post-checkoutgit checkout或git switch执行后如果不使用--no-checkout参数则在git clone之后也会执行。post-mergegit commit执行后在执行git pull时也会被调用pre-pushgit push执行前pre-receivegit-receive-pack执行前updatepost-receivegit-receive-pack执行后不影响git-receive-pack的结果post-update当 git-receive-pack对 git push 作出反应并更新仓库中的引用时push-to-checkout当git-receive-pack对git push做出反应并更新仓库中的引用时以及当推送试图更新当前被签出的分支且receive.denyCurrentBranch配置被设置为updateInstead时pre-auto-gcgit gc --auto执行前post-rewrite执行git commit --amend或git rebase时sendemail-validategit send-email执行前fsmonitor-watchman配置core.fsmonitor被设置为.git/hooks/fsmonitor-watchman或.git/hooks/fsmonitor-watchmanv2时p4-pre-submitgit-p4 submit执行前可以用git-p4 submit --no-verify绕过p4-prepare-changelistgit-p4 submit执行后编辑器启动前可以用git-p4 submit --no-verify绕过p4-changelistgit-p4 submit执行并编辑完changelist message后可以用git-p4 submit --no-verify绕过p4-post-changelistgit-p4 submit执行后post-index-change索引被写入到read-cache.c do_write_locked_index后 可以参考下这篇文章  滑动验证页面 详细说明使用husky规范前端项目搭建_husky使用-CSDN博客
http://www.pierceye.com/news/326826/

相关文章:

  • 四川省建设厅注册中心网站网站管理内容
  • 百度提交网站wordpress广告设置
  • 余姚市城乡建设局网站石家庄上门足疗
  • 深圳工程造价建设信息网站php网站建设题目
  • 龙岗网站制作织梦整合wordpress
  • 代做效果图网站哪家好汉中市建设局网站
  • 东阳海天建设集团网站网站蜘蛛爬行统计
  • asp企业网站cms北京大型网站建设公司
  • 网站要多钱杭州排名优化公司电话
  • 怎么在网站中添加百度商桥南京营销网站建设
  • 沈阳火车站wordpress的vieu主题破解版
  • 食品网站建设 网站定制开发微网站建设的第一步是进行首页的设置
  • 一站式装修公司有哪些500人在线网站建设配置
  • 郴州网站制作哪个网站可以做市场调研报告
  • 劲松网站建设公司做运营需要具备什么能力
  • 企业建设网站是网络营销吗17网站一起做网店新塘
  • 电子书籍网站开发重庆网站建设快速建站
  • 广州 企业网站建设公司网页设计模板
  • 长安网站建设制作价格乐清网站
  • 小游戏网站怎么做建站徐州seo代理计费
  • 苏州网站建设数据网络淘宝网店怎么运营起来
  • 网站建设项目实战实训报告凡科建网站
  • 网站建设程序编制做网站优化的教程
  • 已有网站 需要整改 怎么做信息网官网
  • 中石建基础设施建设有限公司网站南阳网站建设的公司
  • 广东建设银行网站营销渠道策略
  • 廊坊开发区规划建设局网站网站域名续费一年多少钱
  • 网站建设需要哪些准备国外网站顶部菜单设计
  • 免费域名注册和免费建站深圳品牌沙发
  • php网站开发就业网站开发研究综述