新手vue构建单页面应用实例代码
本文介绍了新手vue构建单页面应用实例代码,分享给大家,具体如下
步骤:
1.使用vue-cli创建项目
2.使用vue-router实现单页路由
3.用vuex管理我们的数据流
4.使用vue-resource请求我们的node服务端
5.使用.vue文件进行组件化的开发
一、目录结构:
二、搭建项目
先安装 vue-cli: sudo npm install -g vue-cli
使用vue-cli构建初始化项目:vue init webpack project(创建webpack项目并下载依赖)
输入命令进入项目: cd my-project
安装依赖: npm install
npm i
开始运行: npm run dev (或输入),在热加载中运行我们的应用
它会去找到package.json的scripts对象,执行node bulid/dev-server.js
在这文件里,配置了webpack,会让它去编译项目文件,并且运行服务器。
这些都准备好后,我们需要为我们的路由、xhr请求、数据管理下载三个库,我们可以从vue的官网中找到他们。另外我们使用bootstrap作为我的ui库:
npm i vue-resource vue-router vuex bootstrap --save
三、项目开始
初始化项目(main.js)
查看我们的应用文件,我们可以在src目录下找到app.vue和main.js文件中,我们引入vue和app,且创建了一个vue的实例(因为在router这行引入了app组件router.start(app,'#app'))
import vue from 'vue' import app from './app' import router from './router' import vueresource from 'vue-resource' vue.use(vueresource) vue.config.productiontip = false new vue({ el: '#app', router, template: '<app/>', components: { app } })
index.html
<body> <div id="app"></div> </body>
app.vue
<template> <div id="app"> <div class="row"> <div class="col-xs-offset-2 col-xs-8"> <div class="page-header"> <h2>router basic - 01</h2> </div> </div> </div> <div class="row"> <div class="col-xs-2 col-xs-offset-2"> <ul class="list-group"> <!--使用指令v-link进行导航--> <a class="list-group-item"><router-link to="/home">home</router-link></a> <a class="list-group-item"><router-link to="/about">about</router-link></a> <a class="list-group-item"><router-link to="/contact">contact</router-link></a> </ul> </div> <div class="col-xs-6"> <div class="panel"> <div class="panel-body"> <!--用于渲染匹配的组件--> <router-view></router-view> </div> </div> </div> </div> </div> </div> </template> <script> export default { name: 'app' } </script>
src/components/home.vue 作为我们的首页
<template id="contact"> <div> <h1>home</h1> <p>this is the tutorial about contact.</p> </div> </template> <script> export default { '/hello': 'hello' } </script>
src/components/about.vue
<template id="about"> <div> <h1>about</h1> <p>this is the tutorial about vue-router.</p> </div> </template> <script> export default { '/about': 'about' } </script>
src/components/contact.vue
<template id="contact"> <div> <h1>contact</h1> <p>this is the tutorial about contact.</p> </div> </template> export default { '/contact': 'contact' } </script>
src/index.js
import vue from 'vue' import router from 'vue-router' import hello from '@/components/hello' import home from '@/components/home' import about from '@/components/about' import contact from '@/components/contact' import 'bootstrap/dist/css/bootstrap.css' vue.use(router) export default new router({ routes: [ { path: '/', name: 'hello', component: hello }, { path: '/home', name: 'home', component: home }, { path: '/about', name: 'about', component: about }, { path: '/contact', name: '/contact', component: contact } ] })
spa地址:
详细操作:
git clone
npm install
npm run dev
输入以上命令,即可查看效果。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: js实现可以点击收缩或张开的悬浮窗
下一篇: 微信小程序实现轮播图效果