# eletron+vue+admin **Repository Path**: fxg1997/eletron-vue-admin ## Basic Information - **Project Name**: eletron+vue+admin - **Description**: eletron-vue-admin - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-04-24 - **Last Updated**: 2024-11-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### enter the project directory cd vue-admin-template ### install dependency npm install ### develop npm run dev ### Build ### build for production environment npm run build:prod #### electron:build npm run electron:build #### electron:serve npm run electron:serve ### 编码规则 #### 命名规则 - 1.1 项目命名 全部采用小写方式, 以下划线分隔。 ``` 例:my_project_name ``` - 1.2 目录命名 参照项目命名规则; 有复数结构时,要采用复数命名法。 ``` 例:scripts, styles, images, data_models ``` - 1.3JS 文件命名 参照项目命名规则。 ``` 例:account_model.js ``` - 1.4 CSS, SCSS 文件命名 参照项目命名规则。 ``` 例:retina_sprites.scss ``` - 1.5 HTML 文件命名 参照项目命名规则。 ``` 例:error_report.html ``` ##### HTML - 语法 ``` 属性名全小写,用中划线做分隔符 在属性上,使用双引号,不要使用单引号; ``` - doctype ``` 页面开头使用这个简单地doctype来启用标准模式,按照惯例,doctype大写 ``` - lang 属性 ``` 在html标签上加上lang属性。这会给语音工具和翻译工具帮助,告诉它们应当怎么去发音和翻译。 ``` - 字符编码 ``` 通过声明一个明确的字符编码,让浏览器轻松、快速的确定适合网页内容的渲染方式,通常指定为'UTF-8'。 ``` - IE 兼容模式 ``` 用 标签可以指定页面应该用什么版本的IE来渲染; 不同doctype在不同浏览器下会触发不同的渲染模式 ``` - 引入 CSS, JS ``` 在引入CSS和JS时不需要指明 type,因为 text/css 和 text/javascript 分别是他们的默认值 ``` - 属性顺序 ``` class id name data-* src, for, type, href, value , max-length, max, min, pattern placeholder, title, alt aria-*, role required, readonly, disabled ``` - JS 生成标签 ``` 在JS文件中生成标签让内容变得更难查找,更难编辑,性能更差。应该尽量避免这种情况的出现。 ``` - 减少标签数量 ``` 在编写HTML代码时,需要尽量避免多余的父节点; 很多时候,需要通过迭代和重构来使HTML变得更少。 ``` #### CSS, SCSS - 分号 ``` 每个属性声明末尾都要加分号 ``` - 注释 ``` 注释统一用'/* */'(scss中也不要用'//') ``` - 引号 ``` 最外层统一使用双引号; url的内容要用引号; 属性选择器中的属性值需要引号。 .element:after { content: ""; background-image: url("logo.png");} li[data-type="single"] { ...} ``` - 命名 ``` 类名使用小写字母,以中划线分隔 id采用驼峰式命名 scss中的变量、函数、混合、placeholder采用驼峰式命名 ``` - 颜色 ``` 颜色16进制用小写字母; 颜色16进制尽量用简写。 ``` - 简写 ``` 属性简写需要你非常清楚属性值的正确顺序,而且在大多数情况下并不需要设置属性简写中包含的所有值,所以建议尽量分开声明会更加清晰; margin 和 padding 相反,需要使用简写; ``` - 媒体查询 ``` 尽量将媒体查询的规则靠近与他们相关的规则,不要将他们一起放到一个独立的样式文件中,或者丢在文档的最底部,这样做只会让大家以后更容易忘记他们。 ``` - SCSS 相关 ``` 提交的代码中不要有 @debug; @import 引入的文件不需要开头的'_'和结尾的'.scss'; 嵌套最多不能超过3层; 去掉不必要的父级引用符号'&'。 用 border: 0; 代替 border: none; 尽量少用'*'选择器。 ``` #### JavaScript - 分号 ``` 美航结尾无需分号 ``` - 注释 ``` 单行注释 双斜线后,必须跟一个空格; 多行注释 注释统一用'/** */' ``` - 文档注释 ``` 所有常量 所有函数 所有类 /** * @func * @desc 一个带参数的函数 * @param {string} a - 参数a * @param {number} b=1 - 参数b默认值为1 * @param {string} c=1 - 参数c有两种支持的取值
1—表示x
2—表示xx * @param {object} d - 参数d为一个对象 * @param {string} d.e - 参数d的e属性 * @param {string} d.f - 参数d的f属性 * @param {object[]} g - 参数g为一个对象数组 * @param {string} g.h - 参数g数组中一项的h属性 * @param {string} g.i - 参数g数组中一项的i属性 * @param {string} [j] - 参数j是一个可选参数 */function foo(a, b, c, d, g, j) { ...} ``` - 引号 ``` 最外层统一使用单引号。 ``` - 变量命名 ``` 标准变量采用驼峰式命名 'ID'在变量名中全大写 'URL'在变量名中全大写 'Android'在变量名中大写第一个字母 'iOS'在变量名中小写第一个,大写后两个字母 常量全大写,用下划线连接 构造函数,大写第一个字母 jquery对象必须以'$'开头命名 ``` - 变量声明 ``` 一个函数作用域中所有的变量声明尽量提到函数首部,用一个var声明,不允许出现两个连续的var声明。 声明变量声明变量类型 常量使用const ``` - 数组、对象 ``` 对象属性名不需要加引号; 对象以缩进的形式书写,不要写在一行; 数组、对象最后不要有逗号。 ``` - null ``` 适用场景: 初始化一个将来可能被赋值为对象的变量 与已经初始化的变量做比较 作为一个参数为对象的函数的调用传参 作为一个返回对象的函数的返回值 不适用场景: 不要用null来判断函数调用时有无传参 不要与未初始化的变量做比较 ``` - undefined ``` 永远不要直接使用undefined进行变量判断; 使用typeof和字符串'undefined'对变量进行判断。 ``` - jshint ``` 用'===', '!=='代替'==', '!='; for-in里一定要有hasOwnProperty的判断; 不要在内置对象的原型上添加方法,如Array, Date; 不要在内层作用域的代码里声明了变量,之后却访问到了外层作用域的同名变量; 变量不要先使用后声明; 不要在一句代码中单单使用构造函数,记得将其赋值给某个变量; 不要在同个作用域下声明同名变量; 不要在一些不需要的地方加括号,例:delete(a.b); 不要使用未声明的变量(全局变量需要加到.jshintrc文件的globals属性里面); 不要声明了变量却不使用; 不要在应该做比较的地方做赋值; debugger不要出现在提交的代码里; 数组中不要存在空元素; 不要在循环内部声明函数; 不要像这样使用构造函数,例:new function () { ... }, new Object; ``` - 杂项 ``` 对上下文this的引用只能使用'_this', 'that', 'self'其中一个来命名; switch的falling through和no default的情况一定要有注释特别说明; ```