【vue笔记】1.vue结构分析--创建一个简单的vue工程来说明一下vue的基本框架

在控制台创建一个简单的vue工程:

需要放置工程的目录下打开控制台,输入:

vue init webpack test

可以创建一个名为test的项目。然后会提示对项目的一些属性进行配置:
在这里插入图片描述

Project name工程名,不能使用大写
一般直接enter
Project description输入一句话描述这个工程
Author作者
Vue build打包方式
直接enter
Install vue-router是否安装路由
选yes
Use ESLint to lint your codeESLint是检查代码是否规范的东西,不要选!检查代码跟教导主任一样严格!
选no
Set up unit tests单选测试
选no
Setup e2e tests with Nightwatch?端到端的测试框架NightWatch
选no
Shoulder we run npm installfor you after thr project has been created?(Recommend)是否在工程创建后就去跑 npm 安装依赖
选择yes

创建完后显示的内容为:
在这里插入图片描述
创建完工程后,在目录文件下会出现创建好的vue工程:
在这里插入图片描述
在这里插入图片描述
有两种方式可以启动项目,第一种是在控制台中输入npm命令,另一种是在编译器中运行项目。
第一种:npm启动项目。在控制台中输入:

cd test
npm run dev

就可以启动项目了,控制台会显示:
在这里插入图片描述
在不关闭控制台的条件下在浏览器中输入:http://localhost:8080,显示为:
在这里插入图片描述
第二种,在webstorm中运行项目:
第一次运行项目要编辑一下运行配置:
在这里插入图片描述
在这里插入图片描述
+号位置加一个npm,然后配置:
Name:随便写
Command:run
Scripts:dev
配置完后运行项目,同样可以得到上面的页面。


Vue的基本框架:

整个工程的目录如下:

在这里插入图片描述

文件命名规范:
文件类型文件说明
.vue文件.vue文件全部大驼峰命名法,仅入口文件index.vue为小写
测试文件全部以测试文件名.spec.js 命名
资源文件全部小写字母字符命名,由2个以上的词组成,以“-”分割
不同文件夹的功能:
文件夹名文件夹功能
src包含所有的.vue文件
build存放用于编译用的webpack配置与相关的辅助工具代码
config三大环境配置文件,用于设定环境变量和必要的路径信息
test测试文件
static静态文件
distnpm run build指令下生成的输出文件
vue的主要文件:
文件名文件功能
main.js通过import引入vue.js组件,
创建vue对象的实例
index.html将vue的实例绑定到一个页面
App.vue一个组件,表示一个vue组件

首先我们存在一个App.vue组件,App.vue中含有</router-view>,路由匹配成功的页面都在这里进行渲染和切换,因此App.vue是我们的主组件。App.vue通过export default 导出组件的名称为App;
Main.js通过import App from './App’语句引入App组件,然后通过new Vue创建vue实例并初始化一些插件。main.js中的el将’#app’挂载到index.html中的
<div id=“app”>中。且用<template>替换。最终将index.html的内容<div id=“app”>的内容替换为<App></App>,而<App></App>就是我们调用App组件的方式。

main.js:
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})

main.js是整个工程的入口文件,功能是引入各种文件、初始化vue实例和插件;
new Vue是新建一个vue对象;
main.js中的el将’#app’挂载到index.html中的<div id=“app”>中。且用<template>替换。最终将index.html的内容<div>的内容替换为为<App></App>。


index.html
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>test3</title>
  </head>
  <body>
    <div id="app"></div>
    <!-- built files will be auto injected -->
  </body>
</html>

  • index.html是主渲染页面。通过<div id=“app”></div>可以将main.js中初始化的vue对象内容在web页面中显现。
  • vue的el项值与index.html中div的id值相同
App.vue:
<template>
  <div id="app">
    <img src="./assets/logo.png">
    <router-view/>
  </div>
</template>

<script>
export default {
  name: 'App'
}
</script>

<style>
#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>

App.vue是主组件,通过export default 导出组件的名称为App;
所有的页面都是在App.vue下进行切换的;
App.vue中含有<router-view/>,所以路由匹配成功的页面都在这里进行渲染和切换。

App.vue单页组件的构成:

模块名模块内容
< template >视图模板,包括具体的页面内容
< style >组件样式表
< script >组件定义,创建内部访问数据
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值