vue学习:第二章 初识Vue项目结构

1. 总体结构

vue-project
  |----build --webpack相关配置文件(一般不需再进行配置)
  |----config --vue基本配置文件(配置监听端口、打包构建等)
  |----node_modules --依赖的node模块
  |----src --项目核心文件(页面代码存放位置)
        |----assets --静态资源(样式类文件,以及一些外部js文件)
        |----components --公共组件
        |----router --路由
        |----App.vue --根组件
        |----main.js --入口文件
  |----static --静态资源(存放图片类资源)
  |----.babelrc --babel编译参数
  |----.editorconfig --代码格式
  |----.gitignore -- git上传需要忽略的文件配置
  |----.postcssrc.js --转换css的工具
  |----index.html --主页
  |----package.json --项目构建基本信息
  |----README.md --项目说明

2. 具体结构说明

2.1 build--[webpack配置]

build文件主要是webpack的配置,主要启动文件是dev-server.js,当我们输入npm run dev首先启动的就是dev-server.js,它会去检查node及npm版本,加载配置文件,启动服务。

build
  |----build.js --生产环境构建
  |----check-version.js --版本检查(node,npm)
  |----dev-client.js --开发服务器的热重载(页面自动刷新)
  |----dev-server.js --构建本地服务器(npm run dev即运行该文件)
  |----utils.js --构建相关工具
  |----vue-loader.conf.js --css加载器配置
  |----webpack.base.conf.js --webpack基础配置
  |----webpack.dev.conf.js --webpack开发环境配置
  |----webpack.prod.conf.js --webpack生产环境配置

2.2 config--[vue项目配置]

config文件主要是项目相关配置,我们常用的就是当端口冲突时配置监听端口,打包输出路径及命名等

config
  |----dev.env.js --项目开发环境配置
  |----index.js --项目主要配置(监听端口,打包路径)
  |----prod.env.js --项目生产环境配置

2.3 node_modules--[依赖包]

node_modules里面是项目依赖包,其中包括很多基础依赖,自己也可以根据需要安装其他依赖。安装方法为打开cmd,进入项目目录,输入npm install [依赖包名称],回车。

在两种情况下我们会自己去安装依赖:

(1)项目运行缺少该依赖包:例如项目加载外部css会用到的css-loader,路由跳转vue-loader等(安装方法示例:npm install css-loader)

(2)安装插件:如vux(基于WEUI的移动端组件库),vue-swiper(轮播插件)

注:有时会安装指定依赖版本,需在依赖包名称后加上版本号信息,如安装11.1.4版本的vue-loader,输入npm install [email protected]

2.4 src--[项目核心文件]

项目核心文件前面已经进行了简单的说明,接下来重点讲解main.js,App.vue,及router的index.js

2.4.1 App.vue--[根组件]

一个vue页面通常由三部分组成:模板(template)、js(script)、样式(style)






template

其中模板只能包含一个父节点,也就是说顶层的div只能有一个(例如下图,父节点为#app的div,其没有兄弟节点)

是子路由视图,后面的路由页面都显示在此处

打一个比喻吧,类似于一个插槽,跳转某个路由时,该路由下的页面就插在这个插槽中渲染显示

script

vue通常用es6来写,用export default导出,其下面可以包含数据data,生命周期(mounted等),方法(methods)等,具体语法请看vue.js文档。

style

样式通过style标签包裹,默认是影响全局的,如需定义作用域只在该组件下起作用,需在标签上加scoped,

如要引入外部css文件,首先需给项目安装css-loader依赖包,打开cmd,进入项目目录,输入npm install css-loader,回车。安装完成后,就可以在style标签下import所需的css文件,
例如:


这样,我们就可以把style下的样式封装起来,写到css文件夹,再引入到页面使用,整个vue页面也看上去更简洁。

2.4.2 main.js--[入口文件]

main.js主要是引入vue框架,根组件及路由设置,并且定义vue实例,下图中的
components:{App}就是引入的根组件App.vue
后期还可以引入插件,当然首先得安装插件。

import Vue from 'vue'
import App from './App'
import router from './router'

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: ''
})
2.4.3 router--[路由配置]

router文件夹下,有一个index.js,即为路由配置文件

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      name: 'HelloWorld',
      component: HelloWorld
    }
  ]
})

这里定义了路径为'/'的路由,该路由对应的页面是Hello组件,所以当我们在浏览器url访问http://localhost:8080/#/时就渲染的Hello组件

类似的,我们可以设置多个路由,‘/index','/list'之类的,当然首先得引入该组件,再为该组件设置路由。

2.5 index.html--[主页]

index.html如其他html一样,但一般只定义一个空的根节点,在src下的main.js里面定义的实例将挂载在根节点下,内容都通过vue组件来填充

你可能感兴趣的:(vue学习:第二章 初识Vue项目结构)