首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

(二)ElementUI的官方文档是怎么构建出来的?

2020-02-16 来源:华拓网
(⼆)ElementUI的官⽅⽂档是怎么构建出来的?

答:是通过模板⾃动⽣成的

我们从构建指令⼊⼿,⼀步步分析element-ui官⽅⽂档的构建过程1,构建指令

\"deploy:build\": \"npm run build:file && cross-env NODE_ENV=production webpack --config build/webpack.demo.js && echo element.eleme.io>>examples/element-ui/CNAME\",

很显然这个指令分三部分,

npm run build:file

cross-env NODE_ENV=production webpack --config build/webpack.demo.js

echo element.eleme.io>>examples/element-ui/CNAME (这个没啥好说的,只是每次构建向CNAME中写⼊⼀句话⽽已)⾸先看 build:file具体内容

\"build:file\": \"node build/bin/iconInit.js & node build/bin/build-entry.js & node build/bin/i18n.js & node build/bin/version.js\",

这⾥分别执⾏了四个脚本⽂件,查看他们的内容,显然是通过node内置的fs指令通过模板⽂件⾃动⽣成另外⼀些代码,看看他们⽣成了什么代码:

iconInit.js, 这个⽣成了 /examples/icon.json⽂件,⾥⾯是项⽬中使⽤到的图标,这个icon.json的具体⽤法傻鱼没有进⼀步跟踪,也不是我们关注的重点

build-entry.js, 这个⽂件⽣成了elementUI源码的⼊⼝⽂件,没错⼊⼝⽂件是⾃动⽣成的 /src/index.js⽂件 ,仔细想想这样做的好处,当我们项⽬越来越庞⼤的时候,我们希望⽂件之间尽量减少耦合,⽐如这⾥使⽤模板,我们开发了⼀个新组建后,不需要⼈为的去修改⼊⼝⽂件来export我们⾃⼰的新组件,这样是不是减少了发⽣错误的概率。i18n.js, elementUI的⽂档有四个语⾔版本,看看这个脚本⽂件⽣成了那些代码

它竟然根据⼀个模板,⽣成了四个语⾔版本的vue⽂件(傻鱼⼀开始以为是在⼀个vue⽂件中通过i18n插件进⾏语⾔切换⽽已,现在看来显然是想错了。。。)

惊呆了,⼲嘛不直接使⽤i18n切换。。。。。。。

version.js,这个⽣成了⼀个verson.json⽂件,⾥⾯存了历史版本号。。。没啥好说的

接下来我们看

cross-env NODE_ENV=production webpack --config build/webpack.demo.js环境变量为 production,

查看webpack.demo.js的关键代码

这个⽂件中⼊⼝,出⼝,启动端⼝等都写得很清楚,我们这时回头看看examples下的⽂件,不正是我们熟悉的前端⼯程吗。以前我们把dist⽂件夹放到Nginx上,现在我们把element-ui ⽂件夹放到Nginx上以前⼊⼝⽂件是main⽂件,现在是entry⽂件

因篇幅问题不能全部显示,请点此查看更多更全内容