Web前端开发规范

1.文件书写规范

  1.1 基本要求

      1) 页面标签的属性和值用双引号引起来

      2) 所有页面编码均采用utf-8

  1.2 书写规范

      1)文档类型声明及编码:统一为html5声明<!DOCTYPE html>;编码统一为<meta charset=“utf-8”>

      2)避免页面里面用<style></style>这种方式引入样式。外链的样式统一写在<head></head>里面。非特殊的js文件。统一放在页面底部。

      3)引入的js库文件

       压缩版格式:jquery-1.8.2.min.js

       非压缩:jquery-1.8.2.js

      4)class或者id命名规则: class=“right_nav”。

      Js文件名称用驼峰规则。如:leftMenu.js。

      5)对于只包含一条声明的样式,为了易读性和便于快速编辑,建议将语句放在同一行。对于带有多条声明的样式,还是应当将声明分为多行。每个选            择器和属性声明总是使用新的一行。

 /* 单行 */ .span1 { width: 60px; } .span2 { width: 140px; }
 /* 多行 */ .sprite {
               display: inline-block;
               width: 16px;
               height: 15px;
               background-image: url(../img/sprite.png); }

      6)一般情况下一个页面ID不应该被多次应用于样式,使用ID唯一有效的是确定网页或整个站点中的位置。

      7)使用4个空格,而不使用tab或者混用空格+tab作为缩进。

      8)js禁止全局定义变量。

2.命名规范

   1)页面结构

容器: container  页头:header  内容:content/container 

页面主体:main  页尾:footer  导航:nav  侧栏:sidebar 

栏目:column   页面外围控制整体布局宽度:wrapper 

左右中:left right center 

   (2)导航

导航:nav  主导航:mainbav 子导航:subnav 

顶导航:topnav   边导航:sidebar  左导航:leftsidebar 

右导航:rightsidebar  菜单:menu   子菜单:submenu 

标题: title  摘要: summary 

   (3)功能

标志:logo  广告:banner  登陆:login  登录条:loginbar 

注册:regsiter  搜索:search  功能区:shop  标题:title 

加入:joinus  状态:status  按钮:btn   滚动:scroll 

标签页:tab  文章列表:list   提示信息:msg   当前的: current 

小技巧:tips  图标: icon   注释:note   指南:guild 

服务:service   热点:hot  新闻:news  下载:download 

投票:vote  合作伙伴:partner  友情链接:link  版权:copyright 

3、vue规范

      (1)实例定义规范

              export default{

                    data(){

                          return {

                                //实例参数定义(在组件中需要用时间return 参数的方法定义  *object类型只能监听和渲染自身的子元素)

                          }

                    },

                   methods:{

                         todosomething(){

                                //实例事件定义(注:在实例事件的子事件中调用实例参数需要注意参数的this指向)

                         }

                   },

                   computed:{

                         computedData(){

                               //计算属性定义(注:每个function必须要有返回值)

                         }

                   },

                   created(){

                               //dom及el准备初始化时调用事件

                   },

                   mounted(){

                               //dom及el准备完成后调用事件(推荐使用)

                   }

              }

       (2)vue 文件引入规范

              <script>

                    import  定义名称 from 路径 (注在使用webpack打包时需要使用相对路径)   

             </script>

             <style>

                   @import  文件名称(注:引用路径需要使用相对路径)

             </style>

        (3)vue-router 配置规范

               vue-router 异步加载方式

                        const App = r => require.ensure([], () => r(require('./App.vue')), 'app')  //采用异步调用的方式进行调用

 4.webpack配置文件规范

         (1)根据路由配置的异步加载将出口配置进行改写

                 output: {

                      path: path.resolve(__dirname, './dist'),  //配置压缩路径
                      publicPath: '/dist/',  //配置压缩根路径
                      filename: '[name].js',  //配置压缩文件名称
                      chunkFilename: '[name].js?[hash]'  //配置异步加载名称及hash值
                 }

         (2)将html文件进行配置(为了更好的配置webpack全自动化,将index.html动态渲染到压缩文件中)

                引入html-webpack-plugin   npm install html-webpack-plugin --save-dev         webpack.config.js:const HtmlWebpackPlugin = require('html-webpack-plugin');

                      plugins: [  //配置插件

                           new HtmlWebpackPlugin({
                                  template:'./src/index.html'
                           })
                      ]

          (3)将css或者scss进行单独打包以获得更好的优化效果

                 引入extract-text-webpack-plugin        npm install extract-text-webpack-plugin --save-dev    webpack.config.js :const ExtractTextPlugin=require('extract-text-webpack-plugin');

                     {

                          test: /\.css$/,  //编写css/scss打包规则
                          use: ExtractTextPlugin.extract({
                                   fallback: "style-loader",
                                   use: "css-loader"
                          })
                     }

                     plugins: [

                          new ExtractTextPlugin("styles.css"),  //配置插件-出口文件配置
                     ]

1、   基本原则

        1.1结构、样式、行为分离

        1.2统一四个空格缩进(缩进统一即可),不要使用 Tab 或 Tab、空格混搭

        1.3代码注释统一写在要注释代码的右部(若很长一段代码需要注释可前后加一对注释:/*xxx start*/与/*xxx end*/,短代码使用单行注释 // 注释内容,放在行内)

        1.4、命名规范:使用语义化变量方式进行变量定义,子变量定义时采用 父命名_子语义进行定义变量

2  HTML(.vue)

       2.1 HTML 属性应该按照特定的顺序出现以保证易读性。由于使用vue框架,同一将vue指令放在HTML属性的后面,如id,class,name,vue-指令及事件触发。

       2.2class 与 id 单词字母小写,多个单词组成时,采用下划线_分隔

       2.3class 应以功能或内容命名,不以表现形式命名

       2.4属性的定义,统一使用双引号

3 CSS

      3.1使用scss编译

      3.2代码组织,以组件为单位组织代码段

      3.3制定一致的注释规范 如:

     /*------------------------组块-----------------------------*/

     /*----------------------子组块一------------------------*/

       代码

     /*----------------------子组块二------------------------*/

       代码

4 平台主要技术

    4.1、使用Axios ^0.15.3做数据请求渲染

    4.2、使用elment-ui ^1.0.5框架搭建SPA页面

    4.3、使用VUE ^2.1.0框架构建SPA应用平台

    4.4、使用webpack ^2.1.0-beta.25 构建工具

猜你喜欢

转载自www.cnblogs.com/pengsi/p/8967442.html