首页 > 其他分享 >Vue项目中main.js、App.vue、import...from...等的作用和意义

Vue项目中main.js、App.vue、import...from...等的作用和意义

时间:2024-05-01 19:55:32浏览次数:21  
标签:... Vue App js vue router import

 

 https://www.cnblogs.com/webwangjie/p/11471542.html  

一、main.js

   1、 main.js 程序入口文件,初始化vue实例,并引入使用需要的插件和各种公共组件.

import Vue from 'vue'
import App from './App'
import router from './router'
import Less from 'Less'
Vue.config.productionTip = false
 
/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})

 

   new Vue 代表新建vue对象

    el 官方解释:为实例提供挂载元素。值可以是 CSS 选择符,或实际 HTML 元素,或返回 HTML 元素的函数。这里就通过index.html中的<div id="app"><div>中的id=“app”和这里的“#app”进行挂载。

    components: 代表组件。这里的 App,实际是 App:App 的省略写法,template 里使用的 <App/> 标签来自组件 App。

    template:代表模板。官方解释:模板将会替换挂载的元素。挂载元素的内容都将被忽略。

 也就是说: template: '<App/>' 表示用<app></app>替换 index.html 里面的<div id="app"></div>

      例:

  我们把 main.js 中components 这行注释掉:

     

    再看页面:发现里面就有一个<app></app>标签。

 

 main.js 中 new Vue 对象中写入router,实际上是 router:router ,作用是 main.js 引入了 router 对象,根据路由的配置方法,需要将router对象加载到根main.js中。

 

、import...from...

  import...from... 是ES6语法里面的新特性,用来引入外部文件

  例1:

import Vue from 'vue';

    其实最完整的写法是:

        

 

      

import Vue from "../node_modules/vue/dist/vue.js";

     意思是:因为 main.js 是在src文件中,所以../向前一级相对目录查找node_modules,再依次寻找后面的文件。

  例2:

import App from './App';

    其实最完整的写法是:

import App from './App.vue';

    意思其实就是引入我们写好的.vue文件。

我想问下,在main.js中,import App from './App';到底是导入了什么?

是不是导入了整个App.vue(也就是说包括App.vue的:template, script, style

http://www.codebaoku.com/question/question-sd-1010000013317259.html

 

 例3:

import router from './route';
import router from './route.js';
import axios from 'axios';
import axios from '..\node_modules\axios\dist\axios.js';

import './less/index';
import './less/index.less';
import...from...总结:
   1.import...from...的from命令后面可以跟很多路径格式,若只给出vue,axios,less这样的包名,则会自动到node_modules中查到,找到后则加载;若给出相对路径及文件前缀,则到指定位置寻找;
   2.可以加载各种各样的文件:.js、.vue、.less等等。
 

三、App.vue

    App.vue是项目的主组件,页面入口文件 ,所有页面都在App.vue下进行切换,app.vue负责构建定义及页面组件归集。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 <template>   <div id="app">     <img class="img" src="./assets/logo.png">     <router-view/>   </div> </template>   <script> export default {   name: 'App' } </script>   <style lang="less"> #app {   font-family: 'Avenir', Helvetica, Arial, sans-serif;   -webkit-font-smoothing: antialiased;   -moz-osx-font-smoothing: grayscale;   text-align: center;   color: #2c3e50;   margin-top: 160px;   .img{     width: 200px;   } } </style>

  

四、router文件夹里的index.js

  router里的index.js 把准备好路由组件注册到路由里:

复制代码 复制代码
import Vue from 'vue'
import Router from 'vue-router'
import Recommed from 'components/recommend/recommend'
import Singer from 'components/singer/singer'
import Rank from 'components/rank/rank'
import Search from 'components/search/search'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      component: Recommed
    },
    {
      path: '/recommend',
      component: Recommed
    },
    {
      path: '/singer',
      component: Singer
    },
    {
      path: '/rank',
      component: Rank
    },
    {
      path: '/search',
      component: Search
    }

  ]
})
复制代码 复制代码

 

五、veu项目里其他的文件作用:

  1. index.html:vue编译后的html文件入口

  2. src:放置组件和入口文件

  3. node_modules:项目依赖的模块/包

  4. config:配置了路径端口值等

  5. build:配置webpack的基本配置、开发环境配置、生产环境配置等

标签:...,Vue,App,js,vue,router,import
From: https://www.cnblogs.com/emanlee/p/18010279

相关文章

  • EPAI手绘建模APP动画编辑器、信息、工程图
    ④ 动画:打开关闭动画编辑器。APP中动画包含两个部分,动画编辑器和动画控制器。动画编辑器用来编辑动画。具体来说,选中一个模型后,给模型添加移动、旋转、缩放三种关键帧,不同的模型添加不同的关键帧,实现动画效果。通过动画编辑器完成动画编辑后,通过动画控制器播放动画,动画控制器参见......
  • EPAI手绘建模APP设置、快捷按钮
    2、右上角设置无论视角立方体是否可见,点击场景的右上角位置,打开设置页面。设置页面包括配置页面和显示页面。(1) 配置图 94 设置-配置① 开关1) 网格:隐藏显示场景背景网格。隐藏网格后,网格点捕捉也会不起作用。2) 坐标轴:隐藏显示场景坐标系坐标轴。3) 选中信息:隐......
  • EPAI手绘建模APP模型库、生成器、齿轮、螺栓
    ⑦ 模型库1) 打开模型库。图 89 模型库2) 模型库目前包含了齿轮和螺丝两种工业设计中常见的零件,后续会逐步推出其它零件。3) 选择齿轮库或者螺丝库后,选择需要打开的齿轮类型和螺丝类型,打开对应零件。图 90 模型库-齿轮4) 点击选择按钮,在建模场景中打开对应的零......
  • 《Node.js+Vue.js+MangoDB全栈开发实战》已出版
    《Node.js+Vue.js+MangoDB全栈开发实战》随书源码下载地址:链接:https://pan.baidu.com/s/1DQYgPZLmtJCIuDXs8gub_w?pwd=1127提取码:1127课件下载地址:链接:https://pan.baidu.com/s/1M36y1xu-gIUidDxw38GlBg提取码:1988随书目录目   录第1章 Node.js和TypeScript基础·......
  • uni-app 微信小程序之红包雨活动
    直接上代码<!--红包雨活动--><template> <scroll-viewscroll-y="true"> <viewclass="red-envelope-rain"> <viewv-for="(redEnvelope,index)inredEnvelopes":key="index"class="red-envelop......
  • 群晖内网穿透+域名访问+PLEX APP直接访问
    本文主要记录自身PLEX通过APP访问的记录,也算是一个教程。另感谢各教程贡献者,详见参考。本教程重点在内网穿透的域名访问内网资源。适用人员针对无公网IP,同时PLEX安装在群晖或其它NAS上的,希望在外网使用pelx应用访问家中资源的人(其它系统也类似,原理相同)前期准备购买云服......
  • Vue入门到关门之前端引入
    一、前端发展历史1、什么是前端?前端:针对浏览器的开发,代码在浏览器运行后端:针对服务器的开发,代码在服务器运行2、前后端不分的时代互联网发展的早期,前后端开发是一体的,前端代码是后端代码的一部分。就比如使用HTML(5)、CSS(3)、JavaScript(ES5、ES6)来编写一个个的页面,然后......
  • Vue入门到关门之计算属性与监听属性
    一、计算属性1、什么是计算属性计算属性是基于其它属性计算得出的属性,就像Python中的property,可以把方法/函数伪装成属性,在模板中可以像普通属性一样使用,但它们是基于响应式依赖进行缓存的。这意味着只有在依赖的响应式数据发生改变时,计算属性才会重新计算,否则会直接返回缓存的......
  • Vue入门到关门之生命周期钩子
    一、生命周期钩子函数1、什么是生命周期?在软件开发中,"生命周期"通常指的是一个对象从创建到销毁的整个过程。在前端开发中,特别是在使用诸如Vue.js、React等框架的情况下,"生命周期"常常指的是组件或实例在其存在期间经历的一系列阶段。在Vue.js中,每个Vue实例都有一个生命周期,它......
  • Vue入门到关门之Vue介绍与使用
    一、vue框架介绍1、什么是Vue?Vue(读音/vjuː/,类似于view)是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类......