之前有个想法,就是要利用vue写一套ui。然后当时也没有搞清楚到底怎么写。

几经周转吧,通过付费的方式在gitbook上面找到了答案。

找到答案之后再看我们正在开发的项目,看伙伴写的代码,突然发现完全可以按照写ui组件库的方式调整目录结构。于是动手了,于是新的目录结构。
最重要的是终于从实际层面开始向上思考代码设计,思考架构设计。在我看来目录就是一种架构。

思考后的心得吧算是。

一,就vue脚手架来说,自动生成的项目模板是有改进或者根据实际需要作出重新设计的。重新设计的后要能够有更合适的扩展性。

比如组件化的扩展性,尤其全局组件,经过合理的重新安排目录,可以让全局组件发展成为组件库。然后全局的vue特殊属性,比如过滤器、指令等等也可以单独拿出开使用。

二,一些依赖性质的方法可以放在util里面,利用vue的原型和扩展方法intall,将方法挂在原型上面。

三,局部组件,局部指令,局部过滤器则单独放在页面内部或者组件内部。

四,生产环境下的一些依赖是可以全部使用dll进行打包压缩管理的,这样可以大大减少开发环境时候的内存需要

五,关于混入,混入是另一种形式重复解决方案

六,组件、混入、指令、过滤器、方法构成了可重复单元,vue原型上的方法不能出现在指令或者过滤器中。

一个优秀的项目模板是值得做一个专门的脚手架管理的,毕竟这是努力思考和日积月累的工作才得到的。

也是解决复杂问题的一个思路。有规则拆解。

转载于:https://www.cnblogs.com/zhensg123/p/11587403.html

vue-cli项目模板的一些思考相关推荐

  1. vue cli 项目在打包时候报错 API fatal error handler returned after process out of memory

    问题描述 vue cli 项目在打包时候报错:API fatal error handler returned after process out of memory. 问题分析 从给出的提示可以看出 ...

  2. Vue Cli 项目结构简述

    webnode_modules --Vue Cli 项目以来的js模块全放到这里public --存放静态资源 存放自己的js cssfavicon.ico -- 浏览器小图标index.html - ...

  3. Vue项目9:Vue Cli项目使用echarts可视化

    Vue Cli项目使用echarts可视化有两种方式:一.直接引入echarts  二.使用vue-ehcarts. 一.直接引入echarts  1.创建Vue Cli项目 进入cmd命令行,输入如 ...

  4. vue cli项目升级--vue cli3升级到vue cli4

    原文网址:vue cli项目升级--vue cli3升级到vue cli4_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍如何升级vue项目的vue cli版本. 官方网址 https://c ...

  5. Vue Cli项目使用PDF.js预览pdf无法访问到viewer.html

    今天在开发移动端项目中有个需求是手机端预览pdf,ios可以直接在浏览器预览,安卓不行,所以使用pdf.js来解决,之前项目用过该插件很好用,但是今天使用的时候发现根本没有访问到viewer.html ...

  6. 安装Vue CLI项目(Vue2.0)

    一.Vue CLI脚手架(Vue2.0) Vue CLI官方文档:官方文档 1.什么是脚手架 ​ 命令行界面(英语:command-line interface,缩写:CLI)是在图形用户界面得到普及 ...

  7. todomvc html css模板,[超详细] vue入门项目 TodoMVC 实现和思考

    如果对你有帮助希望可以点个 star 哦 ~ 一.项目初始化 1.下载模板 在存放该项目的目录下执行: git clone https://github.com/tastejs/todomvc-app ...

  8. vue cli 项目在打包时候报错解决方法

    问题描述 报错一: 打包过程报错:Unexpected token name <i>, expected punc <;> IE浏览中报错:SCRIPT1003: 缺少':', ...

  9. Vue cli项目,使用富文本编辑器WangEditor,8小时摸爬滚打后,弃坑Tinymce、UEditor、Quill

    一共尝试了 Tinymce.UEditor.Quill等好几种编辑器,最终觉得最满意的是 WangEditor. 1.Tinymce 开源项目ElementAdmin自带的例子,图片上传 竟然存的是 ...

最新文章

  1. linux arpwatch 命令详解
  2. ASP.NET AJAX文档-ASP.NET AJAX 概述[翻译](1)
  3. SAP Spartacus layoutSlots ID 和 CMSComponent 的映射关系
  4. 【心情】最近实在是太忙了,没有心情写东西!
  5. 如何根据接口写一个客户端进行发单测试?
  6. 实现WinForm窗体的美化(借助第三方控件)
  7. 领域驱动设计 (DDD)实例分析
  8. 来了!iPhone 12今晚天猫首销:12期分期免息,还送5G流量包
  9. wxpython 优秀的界面_好用的 wxPython 界面設計工具 — wxFormBuilder
  10. 铜川市2021年高考成绩查询,2021年铜川高考各高中成绩排名查询,铜川高考成绩公布榜单...
  11. 帆软报表-打印sql日志设置
  12. html网页老是崩溃,MSHTML.dll 错误模块导致ie9最近经常崩溃
  13. 你要的Chrome插件都在这里了
  14. 工控计算机+isa接口,研华工控机IPC-610系列可提供多个PCI、ISA总线
  15. 2018/7/18 HDU 5294 Tricks Device 最短路建图+最小割 训练日记2
  16. [Java] 编码规范与基本概念
  17. 将本地视频上传到云端_如何将本地文件上传到新浪云服务器应用
  18. 利用FDTD进行超表面的仿真(一)——验证PB相位和转换效率的计算
  19. 测试手机单核性能软件,跑分软件Geekbench公布“作弊”名单:华为6款手机上榜...
  20. 最早的计算机网络游戏,手机网络游戏早期发展史——图文游戏

热门文章

  1. ARM(IMX6U)裸机C语言蜂鸣器驱动实验(BSP+SDK)
  2. xampp mysql 备份_Linux Xampp计划任务自动备份Mysql数据库和所有网站
  3. python 银行工作_Python:银行系统实战(一)
  4. java中的HashSet内部是如何工作的
  5. Rocketmq集群工作流程
  6. php标签调用,phpcms栏目标签调用代码大全
  7. MIUI 13:带来全新小部件,新增三大隐私保护功能等
  8. 在程序员面前千万不要说这9句话,我一个同事就死的很惨!
  9. 安卓logcat工具apk_backdoorapk 安卓APK后门捆绑脚本
  10. 分组查询最晚一条数据(ORACLE)