96SEO 2026-02-20 00:03 8
。

Git钩子是在Git操作时触发的脚本#xff0c;可以用于自动化一些任务#xff0c;比如代码格式化、代码检查、测试等。
.husky文件可以指定在Git的不同操作#xff08;如commit、push等#xff…创建husky规范前端项目
.husky文件是一个配置文件用于配置Git钩子。
Git钩子是在Git操作时触发的脚本可以用于自动化一些任务比如代码格式化、代码检查、测试等。
.husky文件可以指定在Git的不同操作如commit、push等时应该运行哪些脚本。
这样每次进行Git操作时就会自动运行指定的脚本从而保证代码质量和开发效率。
在package.json中添加如下命令在scripts中添加
在这之后会生成一个husky文件夹3、lint-staged本地暂存代码检查工具
lint:lint-staged4、添加lint-staged.config.js
--write],{!(package)*.json,*.code-snippets,.!(browserslist)*rc}:
--fix],*.{scss,less,styl,html}:
}8、新建commitlint.config.js文件对提交信息做格式检验的
https://cz-git.qbenben.com/zh/guide
[commitlint/config-conventional],rules:
https://commitlint.js.org/#/reference-rulesbody-leading-blank:
[2,always,[init,feat,page,completepage,fix,fixbug,docs,style,refactor,perf,test,build,ci,chore,revert,wip,workflow,types,release,],],},prompt:
选择关联issue前缀可选:,customFooterPrefixs:
custom,allowCustomIssuePrefixs:
\src/**/*.{js,ts,json,tsx,css,less,scss,vue,html,md}\,lint:stylelint:
\**/*.{vue,less,postcss,css,scss}\
node_modules/.cache/stylelint/,lint:lint-staged:
stylelint-config-recommended-scss
stylelint-config-recommended-vue
[css,less,postcss,scss,vue,sass,html],files.eol:
https://stylelint.iomodule.exports
配置stylelint拓展插件stylelint-config-html/vue,
样式格式化stylelint-config-standard-scss,
scss插件stylelint-config-recommended-vue/scss,
样式格式化stylelint-config-recess-order,
css属性书写顺序插件,stylelint-config-prettier,
配置stylelint和prettier兼容],overrides:
[**/*.{vue,html}],customSyntax:
v-bind不报错no-descending-specificity:
禁止在具有较高优先级的选择器后出现被其覆盖的较低优先级的选择器function-url-quotes:
always(必须加上引号)|never(没有引号)string-quotes:
lower(全小写)|upper(全大写)color-hex-case:
lower(全小写)|upper(全大写)color-hex-length:
short(16进制简写)|long(16进制扩写)rule-empty-line-before:
always(规则之前必须始终有一个空行)|never(规则前绝不能有空行)|always-multi-line(多行规则之前必须始终有一个空行)|never-multi-line(多行规则之前绝不能有空行。
)font-family-no-missing-generic-family-keyword:
禁止在字体族名称列表中缺少通用字体族关键字block-opening-brace-space-before:
always(大括号前必须始终有一个空格)|never(左大括号之前绝不能有空格)|always-single-line(在单行块中的左大括号之前必须始终有一个空格)|never-single-line(在单行块中的左大括号之前绝不能有空格)|always-multi-line(在多行块中左大括号之前必须始终有一个空格)|never-multi-line(多行块中的左大括号之前绝不能有空格)property-no-unknown:
禁止空源码declaration-block-trailing-semicolon:
stringalways(必须始终有一个尾随分号)|never(不得有尾随分号)selector-class-pattern:
强制选择器类名的格式scss/at-import-partial-extension:
解决不能引入scss文件value-no-vendor-prefix:
-webkit-box)selector-pseudo-class-no-unknown:
https://www.prettier.cnmodule.exports
使用单引号(true单引号false双引号)singleQuote:
可选值as-needed|consistent|preservequoteProps:
可选值none|es5|all默认nonetrailingComma:
在JSX中使用单引号而不是双引号jsxSingleQuote:
doclock这个选项将新建一行注释并打上format标记。
insertPragma:
comment而按照markdown文本样式进行折行proseWrap:
空格被认为是不敏感的htmlWhitespaceSensitivity:
这两个选项可用于格式化以给定字符偏移量分别包括和不包括开始和结束的代码rangeStart:
Infinity,vueIndentScriptAndStyle:
typescript-eslint/eslint-plugin
typescript-eslint/parser,ecmaVersion:
[plugin:vue/vue3-recommended,plugin:typescript-eslint/recommended,prettier,plugin:prettier/recommended,],/**
(http://eslint.cn/docs/rules)no-var:
(https://typescript-eslint.io/rules)typescript-eslint/no-unused-vars:
禁止定义未使用的变量typescript-eslint/prefer-ts-expect-error:
ts-ignoretypescript-eslint/no-inferrable-types:
可以轻松推断的显式类型可能会增加不必要的冗长typescript-eslint/no-namespace:
模块和命名空间。
typescript-eslint/no-explicit-any:
禁止使用特定类型typescript-eslint/explicit-function-return-type:
不允许对初始化为数字、字符串或布尔值的变量或参数进行显式类型声明typescript-eslint/no-var-requires:
语句typescript-eslint/no-empty-function:
禁止空函数typescript-eslint/no-use-before-define:
禁止在变量定义之前使用它们typescript-eslint/ban-ts-comment:
使用注释或要求在指令后进行描述typescript-eslint/no-non-null-assertion:
不允许使用后缀运算符的非空断言(!)typescript-eslint/explicit-module-boundary-types:
(https://eslint.vuejs.org/rules)vue/no-v-html:
v-htmlvue/script-setup-uses-vars:
setup使用的变量template被标记为未使用此规则仅在启用该no-unused-vars规则时有效。
vue/v-slot-style:
prop的改变vue/custom-event-name-casing:
为自定义事件名称强制使用特定大小写vue/attributes-order:
api使用顺序强制执行属性顺序vue/one-component-per-file:
强制每个组件都应该在自己的文件中vue/html-closing-bracket-newline:
在标签的右括号之前要求或禁止换行vue/max-attributes-per-line:
强制每行的最大属性数vue/multiline-html-element-content-newline:
在多行元素的内容之前和之后需要换行符vue/singleline-html-element-content-newline:
在单行元素的内容之前和之后需要换行符vue/attribute-hyphenation:
对模板中的自定义组件强制执行属性命名样式vue/require-default-prop:
为必填时必须提供默认值vue/multi-word-component-names:
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback