美文网首页
Vue项目目录结构解析

Vue项目目录结构解析

作者: A郑家庆 | 来源:发表于2019-02-25 17:31 被阅读0次

    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。

    相关文章

      网友评论

          本文标题:Vue项目目录结构解析

          本文链接:https://www.haomeiwen.com/subject/hccgyqtx.html