Vue结构详解
在最开始做java的时候碰到过这么一种情况,当时公司是买的浪潮的loushang框架,然后代码自动生成,个人需要去做的,只是要根据需求逻辑不通在相应的地方写逻辑就可以了,从而出现一类人,写了几年还只是在写逻辑,等再跳槽的时候工资完全要不上去。再后来,我开始面试别人,也面到过浪潮出来或者类似公司出来的一些人,工作经验丰富,但实际工作能力,还是那个螺丝钉,不通原理,只为写代码而写代码,自然很难给他通过。
实际有真实工作经验的人大都能明确一点,开发其实相对来说很简单,麻烦都麻烦在维护和跟踪迭代上,这就是程序猿多数不喜欢跟别人的代码,因为有经验的人喜欢在前期为避免后期的问题做更多工作,而有些人只是为了写而写,给别人填坑久了都会累的。
那对于这类问题最好的解决办法,就是通原理,明白了从哪里来,到哪里去,工程是如何运转的,在碰到问题解决问题的时候,也能更好的定位问题,就像老工程师为什么画条线都能几十万,工作经验是靠丰富的经验、通透的原理和更多的深入思考堆砌出来的。

回到vue本身来,上一篇在D盘的demoShow文件夹下创建了一个文件201907_demo,然后这一篇就以这个为案例进行简单的分析一下

相关文件和文件夹的含义:
build 文件夹: 里面是对 webpack 开发和打包的相关设置,包括入口文件、输出文件、使用的模块等;
config 文件夹: 主要是指定开发和打包中的静态资源路径、要压缩的文件类型、开发使用的端口号、开发使用虚拟服务器跨域请求 api 等。
node_modules: 项目的依赖库;
src 文件夹: 我们主要操作的地方,组件的增加修改等都在这个文件夹里操作,下文会有详细介绍;
static 文件夹: 静态资源文件夹,放置不会变动的资源,直接被复制到最终的打包目录(默认是dist/static)下;
.babelrc: 使用 babel 的配置文件,用来设置转码规则和插件;
.editorconfig: 代码的规范文件,规定使用空格或 tab 缩进,缩进的长度是两位还是四位之类的代码风格,使用的话需要在编辑器里下载对应的插件;
.eslintignore: 指定 eslint 忽略的文件;
.eslintrc: 配置 eslint 的检测规则,强制按照规则书写代码;
.gitignore: 指定 git 忽略的文件,所有 git 操作均不会对其生效;
.postcssrc: 指定使用的 css 预编译器,里面默认配置了 autoprefixer ,自动补全浏览器前缀;
favicon.ico: 浏览器标签页 title 旁边的小图标,这是需要我们自己粘贴过来的;
index.html: 首页文件,项目运行的时候,会自动将我们在 src 文件夹里生成的组件插入这个文件里;
LICENSE: 项目声明的 license;
package-lock.json: 当 node_modules 或 package.json 发生变化时自动生成的文件。这个文件主要功能是确定当前安装的包的依赖,以便后续重新安装的时候生成相同的依赖,而忽略项目开发过程中有些依赖已经发生的更新;
package.json: 指定项目开发和生成环境中需要使用的依赖库;
README.md: 相当于是一个备注文件,对项目开发过程中需要注意的地方进行一些说明。
换成通俗一点的说法再来一遍:
build文件夹可以说是工程的主控室,工程能不能起来就看这里配置的好不好了;
config 文件夹,更像是工程的调度室,它好了井井有条,它乱了也能做就是苦不堪言是真的;
node_modules可以看做是仓库,如果想用就从这里取,这里没有就只能仓库进货;
src 文件夹就是工厂车间,我们真正施工的地方;
static 文件夹算是工程的招牌,多是公司的一些包装和基本配置之类的;
.babelrc文件算是对外合同的规范;
.editorconfig文件算是工程内部施工条例;
.eslintignore文件、.eslintrc文件、.postcssrc文件和.gitignore文件等等可以说是施工条例的补充文件,太冰冷了不好,还要有点文化的人情味;
index.html文件就是工程的门面了,所有人从这里才能看到我们的成品;
package.json文件就应该算是工程的施工步骤,通过这个文件就可以一遍一遍的模拟出工程的再建和复制来;
README.md更像是一个总工程师的一本日记;
以上这是大框架,当然还有具体src下文件内容,

src 文件夹结构
src 文件夹里的文件夹设置是灵活的,可以根据自己的习惯进行,不必雷同。下面是这次项目的结构,也就是默认生成的结构:
assets: 放置静态资源,包括公共的 css 文件、 js 文件、iconfont 字体文件、img 图片文件 以及其他资源类文件。之所以强调是公共的 css 文件,是因为要在组件的 css 标签里加入 ‘scoped‘ 标记,将其作用范围限制在此组件以及调用它的父级组件中,避免污染全局样式;
components: 放置通用模块组件。项目里总会有一些复用的组件,例如弹出框、发送手机验证码、图片上传等,将它们作为通用组件,避免重复工作;
router: 放置路由设置文件,指定路由对应的组件;
App.vue: 入口组件,pages 里的组件会被插入此组件中,此组件再插入 index.html 文件里,形成单页面应用;
main.js: 入口 js 文件,影响全局,作用是引入全局使用的库、公共的样式和方法、设置路由等。
以上就是vue默认生成文件的一个基本结构,我们从最基础的入手一步步深入。
网友评论