热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jsonkey命名规范_前端规范那些事!!

随着前端工程化的日益成熟,代码规范化对于开发效率的提升起着很大的作用,包括后期的维护,统一的规范能节省交接的时间成本,而规范

be3cf3d26de66d2d751b22a3c295cdcc.png851020e53a197eb1644fd49fc38f44c0.png

1747f0328275e7c8d177e63ab1796859.png

随着前端工程化的日益成熟,代码规范化对于开发效率的提升起着很大的作用,包括后期的维护,统一的规范能节省交接的时间成本,而规范包括目录结构、代码质量(命名、注释、JS规范、CSS规范、缩进等)

629875048e397e7a0a1a08100d0b2e63.png

1.eslint

一个插件化的 Javascript 代码检测工具,它可以用于检查常见的 Javascript 代码错误,也可以进行代码风格检查

使用到两个扩展包(airbnb规范 & eslint-plugin-vue)
  • eslint-plugin-vue (vue官方eslint插件,检测vue语法)   官方文档链接?
  • airbnb规范标准:官方文档链接  ?

1.1 如何安装eslint

npm install -g eslint

1.2 如何将eslint集成到项目中

  • 方式1: packjson中配置eslintConfig

bcbad65f7b93e580ba540d43dbdb9c60.png

以上涉及到的rule规则在扩展包的基础上做了调整,基于两个规范做了修改适合你的规范规则

  • 方式2:手动创建.eslintrc.js将方式1中的eslintconfig内容拷贝到.eslintrc.js文件中去
  • 方式3:用eslint 的命令行工具初始化后再修改.eslintrc
6bb5481aecac828f598c0be9fc630f63.png

1.3 如何使用

1.3.1在packjson中scripts加入脚本命令
  • vue-cli 3中的使用

"lint":"vue-cli-service lint"

  • 其他方式

"lint":"eslint --ext .js,.vue src"?检测正确的提示fbb2ab86d859abe007d9e846fe796db8.png?错误的提示7683319fc1cc088e39d699c0e6c0f929.png

1.3.2如何屏蔽不必要的检测(如单元测试、本地mock等)
创建.eslintignorec6d3e2081713b3f0d578b20301622d5b.png

1.4 如何集成到CI/CD

集成到部署环节中的代码扫描环节,规范不通过则发布失败

在Jenkinsfile文件中加入

7052b8083ca42525ed94e4dadcad3f84.png

1.5 常见的eslint规则

1.5.1 常见js规则

eslint官方 点我?

rules:{ "no-unused-vars": "warn", //是否支持存在未使用的变量 'no-debugger': process.env.NODE_ENV === 'production' ? 'error': 'off', //是否禁止debugger 'no-console': process.env.NODE_ENV === 'production' ? 'error': 'off', //是否禁止console.log "no-var": "warn", "no-eval": "warn",//禁止使用eval}

1.5.2 Vue 相关(eslint-plugin-vue)

参考 Vue官方风格指南, 点我?

rules:{ "vue/prop-name-casing": ["error", "camelCase"],// prop名大小写:在声明 prop 的时候,其命名应该始终使用 camelCase "vue/name-property-casing": ["error", "PascalCase"], // JS/JSX 中的组件名应该始终是 PascalCase 的 "vue/require-prop-types": "error", // props定义尽量详细 "vue/require-v-for-key": "error", // v-for设置键值,与key结合使用 "vue/no-use-v-if-with-v-for": ["error", { "allowUsingIterationVar": false }], //不要把 v-if 和 v-for 用在同一个元素上 "vue/max-attributes-per-line": ["error", { "singleline": 1, "multiline": { "max": 1, "allowFirstLine": false } }], //多个特性的元素应该分多行撰写,每个特性一行}

1.5.3 启用禁用
  • “off” 或 0 - 关闭规则

  • “warn” 或 1 - 开启规则,使用警告级别的错误:warn (不会导致程序退出)

  • “error” 或 2 - 开启规则,使用错误级别的错误:error (当被触发的时候,程序会退出)

2. Prettier

Prettier 是格式化代码工具。用来保持团队的项目风格统一

2.1 如何配置

  • 方式1 :根目录创建.prettierrc
  • 方式2: package.json中新建prettier属性。

//方式1module.exports = { "printWidth": 160, //一行的字符数,如果超过会进行换行,默认为80 "tabWidth": 2, //一个tab代表几个空格数 "useTabs": false, //是否使用tab进行缩进,默认为false,表示用空格进行缩减 "singleQuote": false, //字符串是否使用单引号,默认为false,使用双引号 “useEditorConfig”: false, // 是否使用项目中的.editorconfig文件 "semi": true, //行位是否使用分号,默认为true "bracketSpacing": true, //对象大括号直接是否有空格,默认为true,效果:{ foo: bar }}

2.2 如何使用

使用eslint-plugin-prettier插件来添加prettier作为ESLint的规则配置,在ESLint运行Prettier

2.2.1 安装
安装eslint-plugin-prettier

npm install --save-dev eslint-plugin-prettier

2.2.2 配置 eslint

// packjson"eslintConfig": { "extends": [ "plugin:vue/essential", "@vue/airbnb", "prettier" ], "plugins": [ "prettier" ], "rules": { "prettier/prettier": "error", } }

ps?: Prettier分别引入到extends与plugins中是为了防止eslint配置的rules与Prettier配置的rules冲突

(转载)

作者:树酱

原文链接:https://juejin.im/post/5e54b8825188254975581b5d

e95a4d9abd206b951849a22181908a03.pngEND

0b4ccdf46df68bbf38fa9c0e1bd25577.png

9789ef2a57a2e7dac441169875c7800d.gif点击



推荐阅读
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • Webpack 初探:Import 和 Require 的使用
    本文介绍了 Webpack 中 Import 和 Require 的基本概念和使用方法,帮助读者更好地理解和应用模块化开发。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 本文详细介绍了如何解决DNS服务器配置转发无法解析的问题,包括编辑主配置文件和重启域名服务的具体步骤。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • CentOS 7 中 iptables 过滤表实例与 NAT 表应用详解
    在 CentOS 7 系统中,iptables 的过滤表和 NAT 表具有重要的应用价值。本文通过具体实例详细介绍了如何配置 iptables 的过滤表,包括编写脚本文件 `/usr/local/sbin/iptables.sh`,并使用 `iptables -F` 清空现有规则。此外,还深入探讨了 NAT 表的配置方法,帮助读者更好地理解和应用这些网络防火墙技术。 ... [详细]
  • 在不使用Webpack和单文件组件的情况下,构建Vue组件系统的可行性探讨 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
author-avatar
俊惠芸菁亚扬
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有