刚开始接触vue 的webpage脚手架的时候是不是对那一堆文件夹特别懵。
下面我们就来看看脚手架里面的目录都代表什么吧!
首先安装好脚手架的时候目录是这样的
1.node_modues --这个文件夹里面是存放下载好的依赖(模块,组件)--依赖的工具包目录
2.public --这里面主要存放静态文件,html文件就是放这里的-----构建脚本目录
3.src --这里是主要操作vue的地方 ---源码目录
4. .gitignore --设置忽略文件--下载好脚手架后自带的不要随便改里面的东西
5. babel.config.js --项目的根目录(package.json文件所在目录)--下载好脚手架后自带的不要随便改里面的东西
6.package.json --配置参数--下载好脚手架后自带的不要随便改里面的东西
7.package-lock.json --将.babelrc中的配置信息作为babel键(key)的值添加到package.json文件中--下载好脚手架后自带的不要随便改里面的东西
8.README.md --里面介绍了整个项目达到什么样子的效果、需要搭建什么样的环境、具备什么样的技能等等--下载好脚手架后自带的不要随便改里面的东西
介绍了这些,web前端程序员主要操作的地方src文件夹
assets--这里是用来存放图片的地方
components--这里是写组件的地方 --子组件
router --这里是编写路由的地方
store --这里是写状态管理,共享数据,解决父子,兄弟组件之间的传值
views --这里是写视窗的地方
App.vue--根组件
main.js--页面配置,这里主要是把src里面的文件链接起来
我们看下创建后的项目目录里的主要文件:
1、index.html——[主页]
就是一个简单的html页面,这里id='app',是为后面的设置vue作用域有关的。index.html如其他html一样,但一般只定义一个空的根节点,在main.js里面定义的实例将挂载在根节点下,内容都通过vue组件来填充
2、文件:Hello.vue
说明:在*.vue文件,template标签里写html代码,且template直接子级只能有一个标签。style标签里写样式,script里面写js代码。
3、文件:App.vue——[根组件]
//这里是用来展示路由页面内容的,如果想用跳转就用
name:'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;
}
一个vue页面通常由三个部分组成:
魔板(template)、js(script)、样式(style):
【template】
其中模板只能包含一个父节点,也就是说顶层的div只能有一个(例如下图,父节点为#app的div,其没有兄弟节点)是子路由视图,后面的路由页面都显示在此处。打一个比喻吧,类似于一个插槽,跳转某个路由时,该路由下的页面就插在这个插槽中渲染显示
【script】
vue通常用es6来写,用export default导出,其下面可以包含数据data,生命周期(mounted等),方法(methods)等,具体语法请看vue.js文档,在后面我也会通过例子来说明。
【style】
样式通过style标签包裹,默认是影响全局的,如需定义作用域只在该组件下起作用,需在标签上加scoped,如要引入外部css文件,首先需给项目安装css-loader依赖包,打开cmd,进入项目目录,输入npm install css-loader,回车。安装完成后,就可以在style标签下import所需的css文件
4、文件:main.js——[入口文件]
这个js文件是主页面配置的主入口。主要是利用ES6的模块化引入模板main.js主要是引入vue框架,根组件及路由设置,并且定义vue实例,下面代码中的components:{App}就是引入的根组件App.vue后期还可以引入插件,当然首先得安装插件。import Vue from 'vue' // 引入vue文件
import App from './App'// 引入同目录下的App.vue模块
import router from './router'// 引入vue的路由
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',//定义作用范围就是index.html里的id为app的范围内
router,//引入路由
components: { App },//注册引入的组件App.vue
template: ''//给Vue实例初始一个App组件作为template 相当于默认组件
})
5、router——[路由配置]
router文件夹下,有一个index.js,即为路由配置文件
import Vue from 'vue' //引用vue文件
import Router from 'vue-router' //引用vue路由模块,并赋值给变量Router
import HelloWorld from '@/components/HelloWorld' //英文HelloWorld.vue模版,并赋值给变量HelloWorld,这里是“@”相当于“../”
Vue.use(Router)//使用路由
exportdefault newRouter({
routes: [//进行路由配置,规定“/”引入到HelloWorld组件
{
path:'/',
name:'HelloWorld', //这个name暂时不知道用啥用,根据官方文档说的是方便排错的
component: HelloWorld //注册HelloWorld组件
}
]
})
这里定义了路径为'/'的路由,该路由对应的页面是HelloWorld组件,所以当我们在浏览器url访问http://localhost:8080/#/时就渲染的Hello组件类似的,我们可以设置多个路由,‘/index’,'/list'之类的,当然首先得引入该组件,再为该组件设置路由。说明:如果需要增加组件那就在components文件下定义xx.vue文件并编写代码即可;如果需要配置路由就要在index.js进行路由“路径”配置;还需要点击跳转就要用到标签了。