原文地址:http://www.jianshu.com/p/7006a663fb9fcss
整体框架html
一个vue-cli的项目结构以下,其中src文件夹是须要掌握的,因此本文也重点讲解其中的文件,至于其余相关文件,了解一下便可。vue
build文件主要是webpack的配置,主要启动文件是dev-server.js,当咱们输入npm run dev首先启动的就是dev-server.js,它会去检查node及npm版本,加载配置文件,启动服务。node
config文件主要是项目相关配置,咱们经常使用的就是当端口冲突时配置监听端口,打包输出路径及命名等webpack
node_modules里面是项目依赖包,其中包括不少基础依赖,本身也能够根据须要安装其余依赖。安装方法为打开cmd,进入项目目录,输入npm install [依赖包名称],回车。es6
在两种状况下咱们会本身去安装依赖:web
(1)项目运行缺乏该依赖包:例如项目加载外部css会用到的css-loader,路由跳转vue-loader等(安装方法示例:npm install css-loader)vue-cli
(2)安装插件:如vux(基于WEUI的移动端组件库),vue-swiper(轮播插件npm
注:有时会安装指定依赖版本,需在依赖包名称后加上版本号信息,如安装11.1.4版本的vue-loader,输入npm install vue-loader@11.1.4浏览器
项目核心文件前面已经进行了简单的说明,接下来重点讲解main.js,App.vue,及router的index.js
index.html如其余html同样,但通常只定义一个空的根节点,在main.js里面定义的实例将挂载在根节点下,内容都经过vue组件来填充
一个vue页面一般由三部分组成:模板(template)、js(script)、样式(style)
【template】
其中模板只能包含一个父节点,也就是说顶层的div只能有一个(例以下图,父节点为#app的div,其没有兄弟节点)
<router-view></router-view>是子路由视图,后面的路由页面都显示在此处
打一个比喻吧,<router-view>相似于一个插槽,跳转某个路由时,该路由下的页面就插在这个插槽中渲染显示
【script】
vue一般用es6来写,用export default导出,其下面能够包含数据data,生命周期(mounted等),方法(methods)等,具体语法请看vue.js文档,在后面我也会经过例子来讲明。
【style】
样式经过style标签<style></style>包裹,默认是影响全局的,如需定义做用域只在该组件下起做用,需在标签上加scoped,<style scoped></style>
如要引入外部css文件,首先需给项目安装css-loader依赖包,打开cmd,进入项目目录,输入npm install css-loader,回车。安装完成后,就能够在style标签下import所需的css文件,例如:
这样,咱们就能够把style下的样式封装起来,写到css文件夹,再引入到页面使用,整个vue页面也看上去更简洁。
main.js主要是引入vue框架,根组件及路由设置,而且定义vue实例,下图中的
components:{App}就是引入的根组件App.vue
后期还能够引入插件,固然首先得安装插件。
router文件夹下,有一个index.js,即为路由配置文件
这里定义了路径为'/'的路由,该路由对应的页面是Hello组件,因此当咱们在浏览器url访问http://localhost:8080/#/时就渲染的Hello组件
相似的,咱们能够设置多个路由,‘/index’,'/list'之类的,固然首先得引入该组件,再为该组件设置路由。