1.在vue官网上下载wepback模板,此处给出链接 https://github.com/vuejs-templates/webpack-simple
2.使用模板自定义配置
vue init <template-name> <project-name>
在dos下执行后,在当前目录下生成一个 <project-name>的目录。然后把模板目录下的template目录下的所有代码放到这个生成的目录下。
1.自定义github模板。我们可以搞自己的模板放到github上面 .
vue init username/repo my-project
2.我们也可以使用本地pc上的模板。
vue init <pc上的文件路径> <project-name>
3.生成的目录文件
1、src文件夹
用于存放我们写的源代码
2、.gitignore
用于git上传时,指定忽略一些文件,比如build文件夹以及node_modules
3、index.html
就是浏览器打开看到的页面
4、package.json
这个是一些npm的一些配置文件
5、readme
6、webpack.config.js
其实自动化工具,我们需要给一些命令,执行需要的操作。
这里在官方指导里面看一下webpack的配置文件,很好理解。https://vuejs-templates.github.io/webpack/structure.html
4.现在简单看一下App.vue文件,这是我的目录

App.vue是我的主页,src里面的components中存放的是我的小模块。main,js用来启动路由和配置路由路径 ,walle里面存放里面的小插件,
(1)App.vue里面没有什么内容,就是用vue-router划分三个不同的模块,在这里首先安装vue-router
<template>
<div id="app" class="banner">
<div class="headContainer">
<div class="headCont">
<div class="headLogo">Beauty World</div>
<!--使用指令v-link进行导航-->
<div class="headBanner">
<li v-for="item in banners" v-on:click="selected(item.name)">
<router-link class="listItem" :class="{active:curBanner == item.name}" :to="{name: item.name}" exact>{{item.title}}</router-link>
</li>
</div>
</div>
</div>
<div class="bodyContainer">
<div class="bodyCont">
<!--用于渲染匹配的组件-->
<transition name="fade">
<router-view></router-view>
</transition>
</div>
</div>
</div>
</template>
<script>
import Router from "../static/component/router"
export default{
components:{
Router
},
name:'app',
data:function(){
return{
banners:[{
id:"Home",
name:"Home",
title:"首页"
},{
id:"List",
name:"List",
title:"世界"
},{
id:"About",
name:"About",
title:"关于"
}],
curBanner:"Home"
}
},
methods:{
selected:function(seclctedName){
this.curBanner= seclctedName;
}
}
}
</script>
<style scoped>
.banner{
height:100%;
display: block;
}
.headContainer{
height: 50px;
background-color:#333;
}
.headCont{
height: 50px;
}
.headContainer .headLogo{
width: calc(100% - 280px);
height: 50px;
/*float: left;*/
display: inline-block;
font-size: 34px;
padding-left: 20px;
text-align: center;
vertical-align: top;
color: #fff;
text-shadow: 4px 3px 3px #fa0;
line-height: 50px;
font-family: "Lucida Calligraphy";
}
.headBanner li{
float: left;
display: table;
}
.headContainer .headBanner{
width: 240px;
/*float: left;*/
display: inline-block;
text-align: right;
height: 50px;
line-height: 50px;
}
a{
text-decoration: none;
}
.listItem{
font-size: 14px;
color: #fff;
height: 30px;
line-height: 30px;
padding: 4px 10px;
margin: 0 6px;
cursor: pointer;
}
.listItem:hover{
font-size: 16px;
}
.headBanner li a:hover{
font-size: 16px;
/*background:#00aaff;*/
}
.headBanner li a:active{
background:#00aaff;
}
.active{
/*background:#00aaff;*/
color: #fa0;
}
.bodyContainer{
height: calc(100% - 50px);
}
.bodyCont{
background: #fff;
height: 100%;
}
/*.router-link-active{*/
/*!*background:#00aaff;*!*/
/*color: #fa0;*/
/*}*/
.fade-enter-active, .fade-leave-active {
transition: all 0.3s ease
}
.fade-enter, .fade-leave-active {
opacity: 0
}
</style>
(2.)那么对应main.js的写法是这样的
import Vue from 'vue';
import VueRouter from 'vue-router'
import App from './App.vue'
import List from './components/Detail/List.vue'
import Travel from './components/Detail/Travel.vue'
import Read from './components/Detail/Read.vue'
import Photo from './components/Detail/Photo.vue'
import About from './components/About.vue'
import Home from './components/Banner/Home.vue'
Vue.use(VueRouter);
const routes = [
{
path:'/',
redirect:'/Home'
},
{
path: '/Home',
component: Home,
name: 'Home'
},
{
path: '/List',
component: List,
name: 'List',
children:[{
name:"Travel",
path:"Travel",
component: Travel,
},{
name:"Read",
path:"Read",
component: Read,
},{
name:"Photo",
path:"Photo",
component: Photo,
}]
}, {
path: '/About',
component: About,
name: 'About'
}];
const router = new VueRouter({
routes // (缩写)相当于 routes: routes
});
new Vue({
el: '#app',
router,
render: h => h(App)
});
里面配置我划分的三个模块,以及各自的子模块。最后就是填充每个模块的内容,这样就简单搭建了一个单页应用。
4.简单展示一下界面效果



