vue项目src目录详解
一、main.js项目的入口文件import Vue from 'vue'//自动寻找名字为App的文件,如app.vue app.js...import App from './App'/* 引入router变量*/import router from './router'Vue.config.productionTip = falsenew Vue({/*...
src目录结构
assets: 放置静态资源,包括公共的 css 文件、 js 文件、iconfont 字体文件、img 图片文件 以及其他资源类文件。之所以强调是公共的 css 文件,是因为要在组件的 css 标签里加入 ‘scoped‘ 标记,将其作用范围限制在此组件以及调用它的父级组件中,避免污染全局样式;
components: 放置通用模块组件。项目里总会有一些复用的组件,例如弹出框、发送手机验证码、图片上传等,将它们作为通用组件,避免重复工作;
http: 放置与后台 api 相关的文件。这里面有 axios 库的实例配置文件、使用配置的 axios 实例接入 api 获取数据的函数的集合的文件;
mixins: 放置混合选项的文件。具体来说,相当于是公用函数的集合,在组件中引用时,可以作用于组件而不必书写重复的方法;
pages: 放置主要页面的组件。例如登录页、用户信息页等。通常是这里的组件本身写入一些结构,再引入通用模块组件,形成完整的页面;
router: 放置路由设置文件,指定路由对应的组件;
store: 放置 vuex 需要的状态关联文件,设置公共的 state、mutations 等;
App.vue: 入口组件,pages 里的组件会被插入此组件中,此组件再插入 index.html 文件里,形成单页面应用;
main.js: 入口 js 文件,影响全局,作用是引入全局使用的库、公共的样式和方法、设置路由等。
一、main.js
####项目的入口文件
import Vue from 'vue'
//自动寻找名字为App的文件,如app.vue app.js...
import App from './App'
/* 引入router变量*/
import router from './router'
Vue.config.productionTip = false
new Vue({
/* 挂载在id=app的div元素上 */
el: '#app',
/* 使用router变量 router:router*/
router,
/* es6写法,为App:App 键值一样可以省写为一个。名字为App的局部组件*/
components: { App },
/* 将App局部组件显示在页面上*/
template: '<App/>'
})
二、app.vue
####文件以vue后缀结尾,为单文件组件,其中为vue组件
<template>
/* 模板标签*/
<div id="app">
<img src="./assets/logo.png">
/* 显示的是当前路由地址对应的内容 即router目录下index.js引用的HelloWorld组件的内容*/
<router-view/>
</div>
</template>
<script>
/* 组件的逻辑*/
export default {
name: 'App'
}
</script>
<style>
/* 组件的css样式*/
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
三、路由
####路由就是根据网址的不同,返回不同的内容给用户
如:url为 http://localhost:8080/#/list 返回列表页面
####router目录下index.js
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
/* 当访问根目录时,展示HelloWorld组件*/
name: 'HelloWorld',
component: HelloWorld
}
]
})
更多推荐
所有评论(0)