Vue2+VueRouter2+webpack 构建项目实战(二):目录以及文件结构

摘要:
通过上一篇博文《Vue2+VueRouter2+webpack构建项目实战(一):准备工作》,我们已经新建好了一个基于vue+webpack的项目。本篇文章详细介绍下项目的结构。项目目录以及文件结构如图所示:如上图所示,自动构建的vue项目的结构就是这样。router文件放路由配置文件;App.vue是项目入口文件。router文件夹下的index.jsimportVuefrom'vue'importRouterfrom'vue-router'importHellofrom'@/components/Hello'Vue.useexportdefaultnewRouter在这个index.js中引入了Hello.vue组件模块,配置路由信息。

通过上一篇博文《Vue2+VueRouter2+webpack 构建项目实战(一):准备工作》,我们已经新建好了一个基于vue+webpack的项目。本篇文章详细介绍下项目的结构。

项目目录以及文件结构

如图所示:

Vue2+VueRouter2+webpack 构建项目实战(二):目录以及文件结构第1张

如上图所示,自动构建的vue项目的结构就是这样。

目录/文件说明
build这个是我们最终发布的时候会把代码发布在这里,在开发阶段,我们基本不用管。
config配置目录,默认配置没有问题,所以我们也不用管
node_modules项目开发依赖的一些模块
src开发目录(绝大多数工作都是在这里开展)
static资源目录
test初始测试目录,没用,删除即可
.xxxx文件这些是一些配置文件,包括语法配置,git配置等。基本不用管,放着就是了
index.html首页入口文件,基本不用管,如果是开发移动端项目,可以在head区域加上你合适的meta头
package.json项目配置文件。前期基本不用管,但是你可以找一下相关的资料,学习一下里面的各项配置。至少,要知道分别是干嘛的。初期就不管了。
README.md不用管

src文件夹

Vue2+VueRouter2+webpack 构建项目实战(二):目录以及文件结构第2张

如上图所示,这是src文件夹下面的初始情况,里面有一些示例代码之类的。比如,它吧logo放在assets文件夹里面。

commponents目录里面放了一个演示的组件文件。
router文件放路由配置文件;
App.vue是项目入口文件。
main.js这是项目的核心文件,全局的配置都在这个文件里面配置

其中App.vue项目入口代码如下:

<template>
  <div id="app">
    <img src="./assets/logo.png">
    <router-view></router-view>
  </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>

核心文件main.js代码如下:

//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'
import App from './App'
import router from './router'
Vue.config.productionTip = false
/*eslint-disable no-new */
newVue({
  el: '#app',
  router,
  template: '<App/>',
  components: { App }
})

这个配核心配置文件,就是引入vue,导入入口vue以及引入路由,最后new了一个Vue实例对象,来加载数据。

router文件夹下的index.js

import Vue from 'vue'
import Router from 'vue-router'
import Hello from '@/components/Hello'
Vue.use(Router)
export default newRouter({
  routes: [
    {
      path: '/',
      name: 'Hello',
      component: Hello
    }
  ]
})

在这个index.js中引入了Hello.vue组件模块,配置路由信息。

整理目录

上面只是让大家了解一下具体是什么情况,下面,我们开始动手,把不想管的干掉,然后把src变成这个样子:

Vue2+VueRouter2+webpack 构建项目实战(二):目录以及文件结构第3张

如上图所示,把文件夹和文件都新建好,后面的博文我会详细给出每个文件的代码的。

文件目录说明
component组件文件夹我们写的一些公用的内容可以放在这里的。
config核心配置文件夹
frame存放自路由的文件夹
page项目模板文件夹,所有的页面文件全部存放与此,后面会根据需要来建立各种子目录
style样式存放目录

vue支持每一个模板里面写css,这样可以做到随用随取。但是,我个人不太喜欢这样,我还是喜欢吧css给单独放出来,因为这样便于整理,另外,使用scss的朋友都知道,我们会预设大量的变量,代码片供我们在写css的时候使用,如果每个模板文件里面都需要引用一次那是及其操蛋的。

参考

参考地址:http://blog.csdn.net/fungleo/article/details/53171614

免责声明:文章转载自《Vue2+VueRouter2+webpack 构建项目实战(二):目录以及文件结构》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇pytest+allure配置使用二叉树的序列化和反序列化(Java)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

2019最佳弹窗/弹出框设计20例【附教程】

弹窗/弹出框是APP或者网站与用户交互常见的方式之一。不同的网页弹窗和App弹框适用于不用的场景,弹窗的设计直接影响用户体验。不知道如何提高弹出框的用户体验设计? 小编从优质网站精心挑选了20例弹窗/弹出框例子,供大家寻找设计灵感。 1. 邮件订阅弹窗/弹出框 在平时我们浏览网站时,通常会遇到附于页面底部的网页弹框设计。Weebly的弹出框设计与主题色相呼...

webpack安装&amp;amp;指定版本安装&amp;amp;遇到的问题

1.安装nodejs,安装完成,cmd命令行中输入node -v 查看版本号,版本号显示则说明安装成功2.npm包管理器是集成在node中的,输入 npm -v,显示npm版本号3.创建package.json文件,输入命令 npm init,工程目录下就会生成一个package.json文件(全局安装webpack) 4.安装webpack,输入命令 n...

ant-design-vue 之form表单中label-col和wrapper-col使用

ant-design-vue 之form表单中label-col和wrapper-col使用 主要代码: :label-col="{ span: 5 }" :wrapper-col="{ span: 15 }" demo: <template> <div> <a-form :form="form" &g...

Linux Tomcat部署常用命令

Linux Tomcat部署常用命令 1、连接服务器 2、进入webapps目录: cd /usr/local/tomcat8080/webapps/ 3、上传文件(war包等):rz 4、删除文件夹及文件:rm -rf aa.war 5、回上级目录:cd../ 6、查看当前目录 ls 或者ll 7、查看tomcat控制台:tail -f /usr/loc...

VC++开发股票软件

VC炒股软件开发 文档说明: 此文档适合VC++的初学者,高手也可参考(希望能提出宝贵意见)。   开发前准备: 这是一个根据股票信息的数据绘的几个制界面,数据来源通信达软件的数据文件,通常在安装了通信达以后并下载数据到本地以后就有了。 1.数据文件的准备: 假如你安装通信达的目录是:D:\jcb_gx。那么对应的数据文件就在D:\jcb_gx\vipd...

vue 中使用 cesium

vue 中使用 cesium 我是在 vue 项目里面使用的 cesium,但是呢,有点问题,就是有些语法在js转vue的时候有些许的限制,比如说js中相对路径引入文件是一切OK的,vue 也能解决,但是呢,在引入的文件中又引用了其他的文件,vue 处理起来就不是特别的好用,所以说,我是直接在 vue 文件里面使用 iframe 标签引入的 html 文件...