vue-cli项目模板的一些思考
之前有个想法,就是要利用vue写一套ui。然后当时也没有搞清楚到底怎么写。
几经周转吧,通过付费的方式在gitbook上面找到了答案。
找到答案之后再看我们正在开发的项目,看伙伴写的代码,突然发现完全可以按照写ui组件库的方式调整目录结构。于是动手了,于是新的目录结构。
最重要的是终于从实际层面开始向上思考代码设计,思考架构设计。在我看来目录就是一种架构。
思考后的心得吧算是。
一,就vue脚手架来说,自动生成的项目模板是有改进或者根据实际需要作出重新设计的。重新设计的后要能够有更合适的扩展性。
比如组件化的扩展性,尤其全局组件,经过合理的重新安排目录,可以让全局组件发展成为组件库。然后全局的vue特殊属性,比如过滤器、指令等等也可以单独拿出开使用。
二,一些依赖性质的方法可以放在util里面,利用vue的原型和扩展方法intall,将方法挂在原型上面。
三,局部组件,局部指令,局部过滤器则单独放在页面内部或者组件内部。
四,生产环境下的一些依赖是可以全部使用dll进行打包压缩管理的,这样可以大大减少开发环境时候的内存需要
五,关于混入,混入是另一种形式重复解决方案
六,组件、混入、指令、过滤器、方法构成了可重复单元,vue原型上的方法不能出现在指令或者过滤器中。
一个优秀的项目模板是值得做一个专门的脚手架管理的,毕竟这是努力思考和日积月累的工作才得到的。
也是解决复杂问题的一个思路。有规则拆解。
vue-cli项目模板的一些思考的更多相关文章
- 改造@vue/cli项目为服务端渲染-ServerSideRender
VUE SEO方案二 - SSR服务端渲染 在上一章中,我们分享了预渲染的方案来解决SEO问题,个人还是很中意此方案的,既简单又能解决大部分问题.但是也有着一定的缺陷,所以我们继续来看下一个方案--服 ...
- Vue.jsbrowserify项目模板
Vue.js——60分钟browserify项目模板快速入门 概述 在之前的一系列vue.js文章,我们都是用传统模式引用vue.js以及其他的js文件的,这在开发时会产生一些问题. 首先,这限定 ...
- Vue.js项目模板搭建
前言 从今年(2017年)年初起,我们团队开始引入「Vue.js」开发移动端的产品.作为团队的领头人,我的首要任务就是设计 整体的架构 .一个良好的架构必定是具备丰富的开发经验后才能搭建出来的.虽然我 ...
- Vue基础项目模板
https://github.com/wanglong/vue-element-admin.git 优化 Vue CLI 3 构建的前端项目模板(1)- 基础项目模板介绍 一站式开源运维平台,分享给大 ...
- NPM安装vue-cli,并创建vue+webpack项目模板
1.安装npm npm 是node.js 的包管理工具, 安装流程地址:https://docs.npmjs.com/cli/install 估计会非常慢,我们可以使用淘宝NPM镜像下载安装:htt ...
- Vue H5 项目模板
使用了 mint-ui sass vue fastclick vue router 一个项目的初始化状态,一个新项目,陆陆续续花了2天时间搭起来的. 里面有mint-ui的基本用法 tabbar 还有 ...
- vue cli 项目的提交
前提: 配置git.以及git的ssh key信息 假设已经都安装好了,此处我用vue项目为例,因为vue-cli已经默认为我生成了ignore文件 在项目目录 初始化本地仓库,会创建一个.git目录 ...
- vue.cli项目中src目录每个文件夹和文件的用法
assets文件夹是放静态资源:components是放组件:router是定义路由相关的配置:view视图:app.vue是一个应用主组件:main.js是入口文件:
- Vuex内容解析和vue cli项目中使用状态管理模式Vuex
中文文档:vuex官方中文网站 一.vuex里面都有些什么内容? const store = new Vuex.Store({ state: { name: 'weish', age: }, gett ...
随机推荐
- element-ui Drawer抽屉组件封装
<template> <div class="com"> <el-drawer title="我是标题" :visible.syn ...
- java利用MultipartRequest的getFileName方法不能得到原文件名问题
想利用MultipartRequest的getFileName方法来一次获取多个上传的文件名字时,得到的不是文件的名字,而是 input 的name属性 最后找到了答案,解决方法,参照http://s ...
- NORDIC 关闭浮点运算FPU
1.打开FPU中断 NVIC_SetPriority(FPU_IRQn, APP_IRQ_PRIORITY_LOW);NVIC_EnableIRQ(FPU_IRQn); 2.中断中关闭FPU void ...
- Linux的awk 中的while do-while for循环
linux awk的 while.do-while和for语句中允许使用break,continue语句来控制流程走向,也允许使用exit这样的语句来退出.break中断当前正在执行的循环并跳到循环外 ...
- webpack中typeScript的打包配置
2018年typescript发展的非常好,js是一门非常灵活的语言,所以一个功能,怎么写都能够写出来,但是这也会导致一个问题,不同人写js的方式不同,那么会导致同一个功能出现的代码风格会迥然不同.这 ...
- (四)AppScan用外部设备(ios,安卓)录制app脚本进行安全测试
一.打开AppScan,选择外部设备/客户机,点击下 二.记录代理设置,可以手动输入需要的端口号,也可以自动选择. 手机配置代理: 1.连接wifi 2.找到该wifi--高级设置--配置代理: 三. ...
- Java集合--Map总结
转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3311126 第1部分 Map概括 (01) Map ...
- nginx 普通用户使用80端口启动nginx
方法一: 依次执行如下命令 cd /usr/local/nginx/sbin/ chown root nginx chmod u+s nginx 优点是,方便简单,缺点是,既然sudo权限都不给了.这 ...
- Angular4的dom事件
Angular4的dom事件 差值表达式和属性绑定其实是一样的(例) <!-- 这两个是一样的效果,使用哪个都可以 --> <img src="{{imgUrl}}&quo ...
- vs 2017 无法安装任何 nuget package,提示“库没有注册。。。”
vs 2017 无法安装任何 nuget package,提示“库没有注册(异常来自 HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED))” 各种百度谷歌都没有 ...