Vue是近两年来比较火的前端框架(官方解释是渐进式框架),什么叫渐进式框架呢,简单来说就是主张最少,这些概念只能自己去看,自己去理解,不过多的解释。Vue官方文档很全面的。
Vue两大核心思想,组件化和数据驱动,组件化是将一个整体合理拆分为一个一个小块(组件),组件可重复使用,数据驱动是前端的未来发展方向,释放了对DOM的操作,让DOM随着数据的变化自然而然的变化(双向数据绑定),不必过多的关注DOM,只需要将数据组织好即可。
Vue-cli是快速构建这个单页的脚手架,这个是官方的。官方给的建议,如果是初次尝试vue,那就老老实实用普通的方法引入js文件,这里牵扯的东西太多,例如webpack,npm,nodejs等等,很容易成就从入门到放弃的思想。这篇文章是我自己构建项目的过程:
一、安装nodejs(这里就不做过多的说明,建议node4.4.7以上),安装完成后,输入以下命令,出现版本号就说明安装成功。
二、使用npm全局安装vue-cli(npm install --global/-g vue-cli)
1、如果安装不成功,可以使用淘宝镜像如下,通过config命令,配置完以后使用安装(cnpm install --global/-g vue-cli)
npm config set registry https://registry.npm.taobao.org
npm info underscore(如果上面配置正确这个命令会有字符串response)
同时会在C:\Users\Andminster\AppData\Roaming\npm目录下生成几个文件
2、检测是否安装成功
3、安装完成后,创建自己的工作空间,在cmd切换至刚刚创建好的工作空间,如果已经有工作空间,直接切换到工作空间即可。使用命令创建项目
(1)webpack模板,后面的是项目名称,可以自己随便取。命令输入后,会进入安装阶段,需要用户输入一些信息
(2)Project name(sell) 项目名称,可以自己指定,也可直接回车,按照括号中默认名字(注意这里的名字不能有大写字母,如果有会报错Sorry,name can no longer contain capital letters)
(3)Project description(sell)项目描述,可以直接点击回车,使用默认名字
(4)Author(...)作者,不用说了,你想输什么就输什么吧
(5)Runtime + Compiler: recommended for most users 运行加编译,既然已经说了推荐,就选它了
(6)Runtime-only: about 6KB lighter min+gzip, but templates (or any Vue-specificHTML) are ONLY allowed in .vue files - render functions are required elsewhere 仅运行时,已经有推荐了就选择第一个了
(7)Install vue-router? (Y/n) 是否安装vue-router,这是官方的路由,大多数情况下都使用,不过我的第一个项目中的路由是自己写的,没有使用到官方路由,因为有特殊需求,也因为比较早,官方尚未成熟 。这里就输入“y”后回车即可
(8)Use ESLint to lint your code? (Y/n) 是否使用ESLint管理代码,ESLint是个代码风格管理工具,是用来统一代码风格的,并不会影响整体的运行,这也是为了多人协作,新手就不用了,一般项目中都会使用
(9)Pick an ESLint preset (Use arrow keys) 选择一个ESLint预设,编写vue项目时的代码风格,因为我选择了使用ESLint
(10)Standard(https://github.com/feross/standard) 标准,有些看不明白,什么标准呢,去给提示的standardgithub地址看一下, 原来是js的标准风格
(11)AirBNB (https://github.com/airbnb/javascript) JavaScript最合理的方法,这个github地址说的是JavaScript最合理的方法
(12)none (configure it yourself) 这个不用说,自己定义风格具体选择哪个因人而异吧 ,我选择标准风格
(13)Setup unit tests with Karma + Mocha? (Y/n) 是否安装单元测试,我选择安装
(14)Setup e2e tests with Nightwatch(Y/n)? 是否安装e2e测试 ,我选择安装
三、已经说明vue-cli创建了sell,接下来看一下项目的目录
1、简单说一下这个目录
(1)build 里面是一些操作文件,使用npm run * 时其实执行的就是这里的文件
(2)config 配置文件,执行文件需要的配置信息
(3)src 资源文件,所有的组件以及所用的图片都是在这里放着,简单看一下src目录下都有哪些东西
assets 资源文件夹,放图片之类的资源,components 组件文件夹,写的所有组件都放在这个文件夹下,现在有一个写好的组件已经放到里面了,router 路由文件夹,这个决定了也面的跳转规则,App.vue应用组件,所有自己写的组件,都是在这个组件之上运行了,main.js webpack入口文件,webpack四大特性entry入口、output输出,loader加载器,plugins插件,可以再项目中build\webpack.base.conf.js第12行看到这个入口文件是哪个。
(4)切换到项目目录(cd sell),安装依赖模块(npm install)
这里只用了install是安装所有的模块,如果是安装具体的那个模块install 后面输入模块的名字即可,只输入install就按照项目的根目录下的package.json文件中依赖的模块安装,这个文件里面是不允许有任何注释的,每个使用npm管理的项目都有这个文件,是npm操作的入口文件。因为是初始项目,还没有任何模块,需要安装所有的模块,这就是为什么我们刚下载下来别人的项目时都需要先运行 npm install 命令,因为模块较多,文件比较大,所以没有上传模块,这个不需要上传那些文件的配置是在根目录下.gitignore配置的,这是git操作的配置文件,涉及到的git操作都要操作这个文件,可以没有,也可以什么都不写。这个安装时间比较长,再加上npm是国外的服务器,就更慢了,也可以再开始之前就讲npm切换到taobao镜像上,就相对会快一些,安装完成后,目录中会多出来一个node_modules文件夹,这里放的就是所有依赖的模块
这里文件比较多,也比较大,现在就明白为什么大家都不上传这个文件了项目构建完成,现在我们输入npm run dev运行项目吧,看看有什么效果
自动打开默认浏览器显示页面