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

news/2024/10/15 2:32:15

 

 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的基本配置、开发环境配置、生产环境配置等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/26605.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Vue main.js

Vue main.js main.js是项目的入口文件,项目中所有的页面都会加载main.js main.js配置 定义:main.js是项目的入口文件,项目中所有的页面都会加载main.js。 主要有三个作用:1.实例化Vue。2.放置项目中经常会用到的插件和CSS样式。 3.存储全局变量。 项目创建完毕,main.js中会…

Code Llama

Code Llama https://about.fb.com/news/2023/08/code-llama-ai-for-coding/ TakeawaysCode Llama is an AI model built on top of Llama 2, fine-tuned for generating and discussing code. It’s free for research and commercial use. Today, we’re releasing Code Lla…

最小化安装 MSVC ( 可用于 graalvm native-image )

前言 自从接触了 native-image, 就想把所有 Java 项目全用 native-image 编译一遍, 谁不喜欢 exe 呢🤗。但 msvc 的前置条件一直让我望而却步,世界上最好的 ide,超级重量级的大小,强制占用的 C 盘空间……之前的做法是:创建一个虚拟机,在虚拟机里安装 msvc 编译好 exe 再…

Spring注解开发

配置bean 在类的上方一个注解: @Component ,就表示配置了该类 @Component("该类的名称,可以省略不写") public class DaoImpl implements Dao {public void show(){} }在xml配置文件中,添加扫描注解的配置 # base-package表示要扫描的包 <context:component-s…

FastChat

FastChat https://github.com/lm-sys/FastChat 为服务基于大模型的chat应用, FastChat提供框架。 提供三个功能 training, serving, and evaluating 有评价功能、训练功能(fine tuning) 主要的还是 serving能力, 可以支持大模型的负载均衡FastChat is an open platform for…

.net事件

描述(做一个简单的记录): 事件(event)的本质是一个委托;(声明一个事件: public event TestDelegate eventTest;)  委托(delegate)可以理解为一个符合某种签名的方法类型;比如:TestDelegate委托的返回数据类型为string,参数为 int和EventPara,而TestI方…