首页 > 其他分享 >vue项目各文件说明

vue项目各文件说明

时间:2023-06-13 10:35:31浏览次数:44  
标签:文件 vue App js 说明 组件 路由

 

 总体框架:一个vue-cli的项目结构如下,其中src文件夹是需要掌握的,所以本文也重点讲解其中的文件,至于其他相关文件,了解一下即可。

 

1、build——[webpack配置]

  build文件主要是webpack的配置,主要启动文件是dev-server.js,当我们输入npm run dev首先启动的就是dev-server.js,它会去检查node及npm版本,加载配置文件,启动服务。

 

2、config——[vue项目配置]

  config文件主要是项目相关配置,我们常用的就是当端口冲突时配置监听端口,打包输出路径及命名等

 

3、node_modules——[依赖包]

  node_modules里面是项目依赖包,其中包括很多基础依赖,自己也可以根据需要安装其他依赖。

  安装方法为打开cmd,进入项目目录,输入npm install [依赖包名称],回车。

  在两种情况下我们会自己去安装依赖:

  (1)项目运行缺少该依赖包:例如项目加载外部css会用到的css-loader,路由跳转vue-loader等(安装方法示例:npm install css-loader)

  (2)安装插件:如vux(基于WEUI的移动端组件库),vue-swiper(轮播插件)

  注:有时会安装指定依赖版本,需在依赖包名称后加上版本号信息,如安装11.1.4版本的vue-loader,输入npm install [email protected]

  4、src——[项目核心文件]

  项目核心文件前面已经进行了简单的说明,接下来重点讲解main.js,App.vue及router的index.js

 脚手架代码详解
   我们看下创建后的项目目录里的主要文件:

 

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——[根组件]

<template>
  <div id="app">
    <img src="./assets/logo.png">
    <router-view/> //这里是用来展示路由页面内容的,如果想用跳转就用<router-link to='xxx'></router-link>
  </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>

一个vue页面通常由三部分组成:模板(template)、js(script)、样式(style):

  【template】

  其中模板只能包含一个父节

点,也就是说顶层的div只能有一个(例如下图,父节点为#app的div,其没有兄弟节点)

  <router-view></router-view>是子路由视图,后面的路由页面都显示在此处。打一个比喻吧,<router-view>类似于一个插槽,跳转某个路由时,该路由下的页面就插在这个插槽中渲染显示

 

【script】

  vue通常用es6来写,用export default导出,其下面可以包含数据data,生命周期(mounted等),方法(methods)等,具体语法请看vue.js文档,在后面我也会通过例子来说明。

  【style】

  样式通过style标签<style></style>包裹,默认是影响全局的,如需定义作用域只在该组件下起作用,需在标签上加scoped,<style scoped></style>

  如要引入外部css文件,首先需给项目安装css-loader依赖包,打开cmd,进入项目目录,输入npm install css-loader,回车。安装完成后,就可以在style标签下import所需的css文件,例如:

<style>
    import './assets/css/public.css'
</style>

这样,我们就可以把style下的样式封装起来,写到css文件夹,再引入到页面使用,整个vue页面也看上去更简洁。

  4、文件:main.js——[入口文件]

  这个js文件是主页面配置的主入口。主要是利用ES6的模块化引入模板

  main.js主要是引入vue框架,根组件及路由设置,并且定义vue实例,下面代码中的components:{App}就是引入的根组件App.vue

  后期还可以引入插件,当然首先得安装插件。

// 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' // 引入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: '<App/>'//给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)  //使用路由
 
export default new Router({
  routes: [  //进行路由配置,规定“/”引入到HelloWorld组件
    {
      path: '/',
      name: 'HelloWorld',  //这个name暂时不知道用啥用,根据官方文档说的是方便排错的
      component: HelloWorld  //注册HelloWorld组件
    }
  ]
})

这里定义了路径为'/'的路由,该路由对应的页面是HelloWorld组件,所以当我们在浏览器url访问http://localhost:8080/#/时就渲染的Hello组件

类似的,我们可以设置多个路由,‘/index’,'/list'之类的,当然首先得引入该组件,再为该组件设置路由。

说明:如果需要增加组件那就在components文件下定义xx.vue文件并编写代码即可;如果需要配置路由就要在index.js进行路由“路径”配置;还需要点击跳转就要用到<router-link></router-link>标签了。

标签:文件,vue,App,js,说明,组件,路由
From: https://www.cnblogs.com/daboluo/p/17476779.html

相关文章

  • 记录一次查找文件中何处使用制表符(tab)
    尝试一直接在编辑器中显示不可见字符,看了半天也没有找到尝试二在vi中打开目标文件使用命令:setlist,制表符显示成^I,换行符显示成$直接输入/\t快速定位到制表符,此时可以输入n继续查找下一个查找结束,再输入setnolist......
  • vue调用百度api时,跨域问题解决方案
    最近在调用百度地图,文字转语音接口的时候,用vue,js来前端实现转换,及时语音播报,遇到点问题;1.之前直接不用accessToken,一个连接拼接抓取的,已经失效了。2.查看百度文档,更新后的接口,按照文档nodejs格式,一直都是报跨域问题,单独在headers中加'Access-Control-Allow-Origin':'*'无效。......
  • 忽略git上传的文件,修改添加.gitignore
    git#忽略编译输出文件夹/target//build//out//bin//.settings/#忽略IDE和编辑器生成的文件和文件夹.idea/.eclipse/.vscode/*.iml#忽略依赖文件夹/node_modules//bower_components/#忽略操作系统生成的文件.DS_StoreThumbs.db#忽略日志文件*.log#......
  • 文件系统
    文件系统文件是面向OS和面向使用者而言的,对于人来说,音乐,图片,文档,游戏,软件,邮件,等记录信息的载体都被操作系统统称为文件,而存储在HDD(机械硬盘)和SSD(固态硬盘)里.因此文件是一种实体的抽象,而之所以文件需要文件名,是因为不同的文件需要进行相对应的区分,也就是文件名,......
  • ico文件修改像素点
    #include<QApplication>#include<QPixmap>#include<QImage>#include<QRgb>#include<QDebug>intmain(intargc,char*argv[]){QApplicationapp(argc,argv);QPixmappixmap("D:\\Code\\Qt\\popup\\logo.i......
  • ubuntu解压ZIP文件名乱码问题
    背景一个windows压缩的zip文件,再ubuntu中解压后,文件名全是乱码,试过很多GBK、UTF-8的转换方法后找到该方法解决办法安装包sudoapt-getinstallunar使用假设需要解压的ZIP包是foo.zip列出所有文件lsarfoo.zip>如果列出的文件名已经正确解压所有文件unarfoo.z......
  • C++地址值为1(情况说明)
    关于C++中地址值打印出来为1的情况;以下是测试代码:#include<iostream>#include<iomanip>usingnamespacestd;intmain(){constvolatileinta=10;cout<<&a<<endl;int*p=(int*)&a;*p=12;cout<......
  • 6.12 vue3的学习
    1.创建vue3项目:在cmd中首先找到需要保存的路径,输入vuecreate+vue项目的取名,和之前创建vue2是一样的进行如下选择 2.vite创建vue3的方式在cmd中首先输入npminitvue@latest 3.安装依赖和运行依赖#安装依赖npminstall##运行依赖npmrundev#4.vue2创建app实......
  • Vue项目学习
    Vue学习笔记一、二维数组尝试varvm=newVue({ el:"#app", data:{ huilv:[ [6.8540,132.9787,1298.7013,1.3278], [6.8540,132.9787,1298.7013,1.3278] ],}二、watch监听实现watch:{ first:function(newValue){ this.second=newValue*this.hui......
  • thunderBird如何选择配置文件
    有时候,thunderBird会出现配置文件太老的提示,然后就不能用了,让你重新配置,这可烦死了。其实配置文件信息还在的,只是需要重新配置,选择配置文件。 只要在windows命令行下,找到thunderBird的安装位置,Programfiles(x86),然后运行命令:thunderBird.exe-ProfileManager然后会跳出一......