vue中main.js,App.vue,index.html,index.js之间关系进行总结

index.html

项目的运行入口,在body体中只有一个div标签,其id为app,这个id将会连接到src/main.js内容
在浏览器打开的瞬间,浏览器中正文部分会瞬间显示index.html中定义的正文部分
上面有一个id为app的挂载点,之后我们的Vue根实例就会挂载到该挂载点上


  
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1.0">
  6. <title>y </title>
  7. </head>
  8. <body>
  9. <div id="app">test </div>
  10. <!-- built files will be auto injected -->
  11. </body>
  12. </html>

main.js

入口文件,主要作用是初始化vue实例,并引入所需要的插件。新建了一个vue实例,并使用el:#app链接到index.html中的app,并使用template引入组件<app>和路由相关的内容,也就是说通过main.js我们关联到App.vue组件


  
  1. import Vue from 'vue'
  2. import App from './App'
  3. import router from './router'
  4. Vue.config.productionTip = false
  5. /* eslint-disable no-new */
  6. new Vue({
  7. el: '#app',
  8. router,
  9. components: { App },
  10. template: '<App/>'
  11. })

App.vue

主组件,所有页面都是在App.vue下进行切换的。可以理解为所有的路由router也是App.vue的子组件。


  
  1. <template>
  2. <div id="app">
  3. <router-view/>
  4. </div>
  5. </template>
  6. <script>
  7. export default {
  8. name: 'App'
  9. }
  10. </script>

Index.js

<template>标签下,有<router-view>标签,<router-view>标签将会把路由相关内容渲染在这个地方,路由中文件位于src/router/index.js中。
在index.js的代码中,建立了路由相关的内容,也就会渲染到app.vue下面的<router-view>中。


  
  1. import Vue from 'vue'
  2. import Router from 'vue-router'
  3. import HelloWorld from '@/components/HelloWorld'
  4. Vue.use(Router)
  5. export default new Router({
  6. routes: [
  7. {
  8. path: '/',
  9. name: 'HelloWorld',
  10. component: HelloWorld
  11. }
  12. ]
  13. })

项目加载的过程是index.tml->main.js->app.vue->index.js->helloworld.vue。

posted @ 2022-11-21 18:54  TwcatL_tree  阅读(71)  评论(0编辑  收藏  举报