# well-cli **Repository Path**: xility/well-cli ## Basic Information - **Project Name**: well-cli - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-10-25 - **Last Updated**: 2021-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目介绍 ## 项目安装 > 由于 `npm` 使用的是国外的镜像源,下载包较慢,需要修改 `npm` 镜像源 ``` npm config set registry https://registry.npm.taobao.org ``` # 版本规范 前端版本以后台版本为准,git上创建版本分支,迭代以小改动、小版本和大版本来区分,例:v1.1.1,如小改动 v1.1.2, 小迭代 v1.2.1,如大迭代 v2.1.1 # 目录规范 - images:所有图片放在assets/images下,公共部分图片放在images文件夹下或者images/public 下,其他的各个页面的图片放在images/页面名; - Css:所有公共js放在assets/css下,可以将CSS样式表分为三类:全局样式表、模块通用样式表和独立样式表 + 全局样式表常用命名:reset.css + 公共样式表常用命名:public.css **Tips:尽量不写内联样式,组件样式写在单独的组件下。页面样式在页面下修改,公用样式需要修改直接在组件下修改** - Js:所有公共js放在assets/utils下, + 工具类js常用命名:tools.js + 请求js常用命名:request.js + 配置页面变量js常用命名:common.js + 公共js常用命名:public.js - Api: 新建api文件夹 api常用命名:页面名+Api.js - 命名: + 以组件功能大驼峰命名 + 函数声明类、组件用大驼峰 + 页面、方法用小驼峰 + 常量全大写 - 页面文件放在pages文件夹下 以页面名命名文件夹,pages/login 文件夹下面放相关的页面、css、js 如:login.vue login.js login.css # 开发规范 [TOC] ## 一、概述 本规范旨在为前端程序的开发者提供规范化最新的指导,可用于程序员个人编译环境以及研发团队集成环境等场合的代码规范化检查。 > _不管有多少人共同参与同一项目,一定要确保每一行代码都像是同一个人编写的_ ## 二、方针 | 约束等级 | 约束效力 |强制性 | | :---------------------------------: | :------------------------------: | :------------------------------------------: | | 【强制】 | 违反该项将被认为代码存在严重缺陷 | 前端程序团队必须遵守 | | 【推荐】 | 违反该项将被认为代码存在轻微缺陷 | 根据具体产品特性的不同,选择性地遵守 | | 【参考】 | 违反该项可被认为代码存在优化空间 | 从产品持续优化及人员技能提升的角度,参考使用 | ## 三、环境要求 1. 【强制】[Node.js](https://nodejs.org/) 8.9 或更高版本,你可以使用 [nvm](https://github.com/creationix/nvm) 或 [nvm-windows ](https://github.com/coreybutler/nvm-windows)在一台电脑中管理多个 Node 版本 2. 【强制】使用 [Visual Studio Code (VS Code)](http://www.baidu.com/link?url=Sn0aBa011utoLAP3IC799QxEcwe1-mmChrkEchQsAaOJJwwbN8ZMTyf8XF8uDId9) 进行代码编写 3. 【强制】代码提交前使用 VS Code 进行格式化(不要格式引入的外部文件) 4. 【强制】规定 Tab 大小为 4 个空格,保证在所有环境下获得一致展现 ```javascript // settings.json { "editor.tabSize": 4 // ... } ``` 5. 【推荐】安装插件 [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur)( Vue 开发扩展及 Vue 文件代码格式化) 6. 【推荐】安装插件 [Prettier - Code formatter](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)( CSS / Less / JS 等其他文件代码格式化;Vetur 的格式化基于此插件实现,固可以在所有文件实现统一的格式化) 7. 【推荐】安装插件 [Chinese (Simplified) Language Pack for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-zh-hans) ( VS Code 简体中文语言包) 8. 【推荐】使用 Chrome 浏览器并安装 [Vue.js devtools](https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd) 进行调试 ## 四、编码规范 ### 4.1 HTML / Template 编码规范 #### 语法 1. 【强制】缩进使用两个空格代替 Tab - _前端代码层级较深,使用短缩进有利于利用屏幕空间,提升效率_ - _使用两个空格代替 Tab 可以保证在所有环境下获得一致展现_ ```html
`) _省略可选的结束标签,虽不会违反 H5 规范;但可能会造成层级上的困扰,导致代码出现无法预料的问题_ ```html
``` 5. 【强制】特殊符号使用 [HTML 字符实体](http://www.w3school.com.cn/html/html_entities.asp)(实体名称对大小写敏感),常用如下: | 符号 | 实体编码 | | :--: | :------: | | 空格 | \ | | © | \© | | ¥ | \¥ | | ® | \® | | > | \> | | < | \< | | & | \& | 6. 【强制】td / th 要在 tr 里面,li 要在 ul / ol 里面 ```html
| test |
| test |
``` 7. 【强制】ul / ol 的直接子元素只能是 li,不能包含其他元素 ```html
```
8. 【强制】行内元素里面不可使用块级元素
a 标签是一个行内元素,行内元素里面套了一个 div 的标签,这样可能会导致 a 标签无法正常点击
```html
```
可以使用如下代码进行修复:
```html
```
9. 【强制】不使用自定义标签,会与 Vue 组件系统的自定义组件冲突
10. 【强制】不使用重复属性,重复的属性只会取第一个
```html
```
11. 【强制】不要在 https 的链接里写 http 的图片
_只要 https 的网页请求了一张 http 的图片,就会导致浏览器地址栏左边的小锁没有了,一般不要写死,写成根据当前域名的协议去加载,用//开头:_
```html
```
12. 【推荐】要在自闭合(self-closing)元素的尾部添加斜线( [HTML5 规范](http://dev.w3.org/html5/spec-author-view/syntax.html#syntax-start-tag)中说明这是可选的)
```html
```
13. 【推荐】不使用属性设置样式(`img`, `table`等元素)
```html
```
14. 【参考】自定义属性要以 data-开头
自己添加的非标准的属性要以 data-开头,否则[w3c validator](https://link.juejin.im/?target=https%3A%2F%2Fvalidator.w3.org%2F)会认为是不规范的
```html
``` #### HTML5 doctype 【强制】为每个 HTML 页面添加标准模式(standard mode)的声明,确保在每个浏览器中拥有一致的展现 ```html ... ``` #### 语言属性 【强制】为每个 HTML 页面根元素添加 [lang 属性](http://w3c.github.io/html/semantics.html#the-html-element) 根据 HTML5 规范: > 强烈建议为 html 根元素指定 lang 属性,从而为文档设置正确的语言。这将有助于语音合成工具确定其所应该采用的发音,有助于翻译工具确定其翻译时所应遵守的规则等等。 ```html ``` #### 字符编码 【强制】通过声明一个明确的字符编码,让浏览器轻松、快速的确定网页内容渲染方式,通常指定为'UTF-8' ```html
...