Home  >  Article  >  Web Front-end  >  Vue project structure (detailed tutorial)

Vue project structure (detailed tutorial)

亚连
亚连Original
2018-06-08 17:44:562175browse

This article mainly introduces the first attempt at vue--related knowledge of the project structure. Friends who need it can refer to it

After creating a new project, let's take a look at the directory structure of the project

The contents of several main files

index.html file (entry file, enter index.html first after entering the system)

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

main.js file (Import the corresponding module)

improt Vue from &#39;vue&#39;    //可以将脚手架中下载的模块拿出来,可以直接使用new来实例化vue对象
improt App from &#39;./App&#39;   
Vue.config.productionTip = false
 new Vue({
  el:&#39;#app&#39;,       //当前的vue要控制的容器是谁,要获取的这个容器元素是谁,#app是index.thml里的id=“app”
  template:&#39;<App/>&#39;,   //模板,可以写对应的p,也可以写组件调用的标签,只要有一个根标签即可
components:{ App }   //想要调用组件,必须在component里注册这个组件,这里的APP来源于引入的./App文件,即:App.vue文件
 })

App.vue file (root component)

<!--1模板:html结构 -->
<template>
 <p id="app">
<img src="./assets/logo.png">
<!--路由入口,对应进入router下面的index.js文件-->
<router-view/>
 </p>
</template>
<!--2行为:处理逻辑 -->
<script>
export default {
 name: &#39;App&#39;
}
</script>
<style>
#app {
 font-family: &#39;Avenir&#39;, Helvetica, Arial, sans-serif;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 text-align: center;
 color: #2c3e50;
 margin-top: 60px;
}
</style>

The index.js file under the router folder (front-end routing)

import Vue from &#39;vue&#39;
import Router from &#39;vue-router&#39;
import HelloWorld from &#39;@/components/HelloWorld&#39;  //导入模板文件
Vue.use(Router) 
export default new Router({
 routes: [  //定义对应模板的路径,url对应进入的模板
{
 path: &#39;/&#39;,
 name: &#39;HelloWorld&#39;,
 component: HelloWorld
}
 ]
})

Template:

Template can be used to include some content. It will not actually render into the dom itself. You can directly use the template tag to include it. Note: There are and can only be included in the template. There is a root tag.

Behavior:

Use import to associate with other components, and then register with

 export default {
  name: &#39;App&#39;,
  components: {
  HelloWorld
 }

to call.

Style:

Same as ordinary css style. You can use sass syntax, but you need to install sass in the project. After successful installation, you can see the corresponding information in package.json

Project loading process

Project Start: index.html ----> main.js ----> App.vue
From the index.html entry file, it will execute the main.js file, and main.js will instantiate our Vue Object, the App.vue component will be executed next. After reaching App.vue, if the template has content, it will insert the content in the template into the index.html container, and you can also set the corresponding attributes in the behavior attributes.

The above is what I compiled for everyone. I hope it will be helpful to everyone in the future.

Related articles:

How to implement webpack packaging optimization in vue

Use axios express local request 404 under Vue 2.5.2 Solution

Use vue and react to achieve expansion, collapse and other effects

The above is the detailed content of Vue project structure (detailed tutorial). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn