Vue项目目录结构解析

2019-02-25  本文已影响0人  A郑家庆

build:项目构建(webpack)相关代码,因为我已经引入webpack框架,里面实际上就是调用webpack的API来写的。
config:配置开发、生产环境,后台地址,后台接口拦截处理。
node-modules:npm加载的项目依赖模块。
src:这是我们要开发的目录,基本上要做的事情都在这个目录里。
static:静态资源目录。
index.html:首页入口文件。

启动完一个项目之后,相当于启动了一个web服务器,在浏览器中打开项目地址,实际上是访问项目路径,我们会发现不管是图片还是js文件都需要http请求,因为我们访问的是一个服务器,浏览器和服务器之间进行通信就是通过http请求。

在main.js中我们会看到

new Vue({
    el: '#app',
    router,
    store,
    components: {App},
    template: '<App>'
})

new Vue就是调用Vue这个框架,然后注入一个对象,其中el为挂载点,在main.js中将App.vue这个组件挂载到id为app的节点上。router、store都会注入Vue中,components是注册App组件,template表示使用App这个组件。

思考题:启动一个项目,输入一个网址之后发生了什么
http://www.runoob.com/vue2/vue-directory-structure.html

handler.js

在router/handler.js中process.env.NODE_ENV === 'development'是在webpack.dev.conf.js中

plugins: [
    new webpack.DefinePlugin({
        'process.env': require('../config/dev.env')
    })
]

上面的代码显示如果是本地启动项目process.env.NODE_ENV === 'development',如果打包之后上面的代码就会消失。
总结:这个文件主要在路由跳转之前做了很多处理,有跳转第三方应用、过滤某些路由、进行单点登录(保存用户信息、权限)等操作

instance.js

在router/instance.js中let component = resolve => require(['../views/' + conf.component], resolve)这段代码是路由懒加载,当路由被访问的时候才加载对应组件,提高效率。也可以写成let component = () => import ('../views/' + conf.component)
总结:将自己定义的路由文件处理成某种数据格式

backend.js

主要用于处理接口信息,向后台发送请求,然后处理返回数据

axios

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。

启动项目

npm run dev会执行package.json中scripts下的dev,然后会执行webpack-dev-server后面是入口文件webpack.dev.conf.js。

上一篇下一篇

猜你喜欢

热点阅读