最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 前端团队开发思考

    正文概述 掘金(星始流年)   2021-04-08   669

    一、质量如何提升?

    1. 目录结构划分

    ├─apis                   //  请求文件
    │  ├─request.js            //  请求基础封装
    │  └─modules               //  各模块请求
    │     └─user.js 
    │
    ├─assets                 //  静态资源      
    │  ├─img                   //  图片
    │  │  └─message.png           
    │  └─json                //  json
    │  │  └─map.json            
    │  └─style                //  less/sccc文件
    │     └─user               //  业务模块
    │        └─user.less 
    │
    ├─components             //  组件
    │  ├─base                  //  基础/布局组件
    │  │  ├─BaseButtom.vue      
    │  │  └─BaseNavbar.vue             
    │  └─custom              //  业务组件
    │     └─user               //  业务模块
    │        └─UserTable.vue 
    │
    ├─config                //  全局配置
    │  └─index.js             //  路由基础封装
    │
    ├─mixins               //  混入
    │  └─user.js             //  对应业务模块的mixin
    │        
    ├─routers              //  路由
    │  ├─index.js            //  路由基础封装
    │  └─router.js           //  若router繁杂,可单独提入此文件            
    │        
    ├─store               //  状态
    │  ├─index.js            //  基础状态
    │  └─modules             //  各模块状态
    │     └─user.js     
    ├─utils               //  工具函数
    │  └─validate.js            
    │
    ├─views              //  页面结构
    │  └─user              //  业务模块
    │     └─user-table.vue 
    │
    ├─App.vue            //  如非必要,不要在此文件写入样式
    └─main.js              
    
    

    2. 开发规范统一

    (1)配置ESlint

    • 目的:

    保证JS代码一致性并避免低级错误。

    • 用法:

    《ESLint配置指南》

    (2)配置Editorconfig

    • 目的:

    保证JS代码在不同编辑器或IDE下的格式一致性。

    • 用法:

    在项目根目录创建.editorconfig文件,其中写入以下内容:

    root = true
    
    [*]
    charset = utf-8
    indent_style = space
    indent_size = 2
    end_of_line = lf
    insert_final_newline = true
    trim_trailing_whitespace = true
    

    以上代码的作用即在所有文件类型中,保证编码方式、缩进格式等风格的一致性。

    3. 代码风格统一

    (1)配置Preitter

    • 目的:

    统一JS、JSX代码风格。

    • 用法:

    《Preitter配置指南》

    (2)配置stylelint

    • 目的:

    统一CSS代码风格。

    • 用法:

    《Stylelint配置指南》

    4. 项目打包优化(针对生产环境)

    (1)去除sourceMap

    vue.config.js中配置:

    productionSourceMap: false, //生产环境关闭sourceMap
    

    (2)引用js文件使用min版本

    (3)去除console输出

    a. 开发环境中安装babel-plugin-transform-remove-console插件; b. 配置babel.config.js:

    //项目发布阶段需要用到的babel插件
    const proPlugins = [];
    //获取当前的-mode是开发阶段还是发布阶段
    if(process.env.NODE_ENV === 'production'){
      //打包后屏蔽控制台输出
      proPlugins.push('transform-remove-console')
    }
    
    module.exports = {
      presets: [
        '@vue/cli-plugin-babel/preset'
      ],
      //发布产品时候的插件数组
      plugins:[
        ...proPlugins
      ]
    }
    

    (4)引入CDN

    a. index.html中引入CDN资源;

    <script src="https://cdn.jsdelivr.net/npm/echarts@4.9.0/dist/echarts.min.js" crossorigin="anonymous"></script>
    

    b. vue.config.js中配置打包时排除CDN资源:

      configureWebpack: {
        externals: {
          echarts: 'echarts',
        },
      },
    

    5. 项目常用库统一

    (1)请求库:axios

    (2)UI库:ElmentUI

    (3)移动端UI库:vant

    (4)时间库:dayjs

    (5)pdf处理库:vue-pdf

    (6)滚动条美化库:vuescroll

    (7)SPA标签页通信库:lsbridge

    (8)CSS预处理器:less

    二、速度如何提升?

    1. 二次封装脚手架

    2. 多环境部署优化

    3. Git工作流(提交规范+校验修复+自动部署)

    4. ElmentUI自定义主题

    三、推荐关注点

    1. vite

    2. storybook


    起源地下载网 » 前端团队开发思考

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元