美文网首页
vue cli的项目

vue cli的项目

作者: 自由落体_4deb | 来源:发表于2018-02-21 15:47 被阅读0次

    项目结构
    build webpack的配置,在Vue cli项目里面,我们一般不需要改,如果需要自定义webpack loader,我们可以看build/webpack.base.conf.js文件。

    config 项目的核心配置

    src 我们的代码一般都写在这,里面有assets
    .
    ├── build/ # webpack 配置文件
    │ └── ...
    ├── config/
    │ ├── index.js # 项目核心配置
    │ └── ...
    ├── src/
    │ ├── main.js # 程序入口文件
    │ ├── App.vue # 程序入口vue组件(<template><script><style>)
    │ ├── components/ # 组件
    │ │ └── ...
    │ └── assets/ # 模块资源 (会被webpack处理)
    │ └── ...
    ├── static/ # 纯静态资源 (直接拷贝到dist/static/里面)
    ├── test/
    │ └── unit/ # 单元测试
    │ │ ├── specs/ # 测试规范
    │ │ ├── index.js # 测试入口文件
    │ │ └── karma.conf.js # 测试运行配置文件
    │ └── e2e/ # 端到端测试
    │ │ ├── specs/ # 测试规范
    │ │ ├── custom-assertions/ # 端到端测试自定义断言
    │ │ ├── runner.js # 运行测试的脚本
    │ │ └── nightwatch.conf.js # 运行测试的配置文件
    ├── .babelrc # babel 配置文件
    ├── .editorconfig # 编辑配置文件
    ├── .eslintrc.js # eslint 配置文件
    ├── index.html # index.html 入口模板文件,在开发环境中,webpack会生成相关资源,这些资源的URL会插入到模板来渲染最终的HTML
    └── package.json # 运行的脚本与相关依赖(包含所有的依赖于构建命令)

    生产环境(线上环境)、开发环境、测试环境
    生产环境和开发环境的配置不一样,开发环境需要做一些debug之类的活,比如,Vue是生产环境所需要的依赖,而webpack不需要在生产环境打包,所以就有了dependencies和Devdependencies

    vue-router 是在Vue的基础上,通过Vue.use方法才能用的,这也意味着它不能单独用,这跟渐进式是不是有点冲突。

    index.html
    app.vue
    main.js
    页面的执行顺序是这样下来的,index.html模板入口文件,从后缀名可以看出它是一个HTML的模板文件,这里是所有DOM的起点,所以肯定有下面这段代码。

      <div id="app">
        <router-view/>
      </div>
    

    app.vue是入口文件Vue组件,这里是定义components里面模板的地方,所以页面是这样的结构。

      <template>
        <div id="app"> 这将会在浏览器中渲染出来,这里的ID好像不写app也没关系的
          <router-view/>
        </div>
      </template>
      <script>
      </script>
      <style>
      </style>
    

    main.js整个项目的入口文件,创建整个项目的Vue实例,挂载Vue实例,需要引入Vue、模板是App,组件也是App,App就是app.vue文件,但是我不清楚组件为什么要这么写?

    components: { App } 
    

    app.vue,router里面的index.js,组件里面写的JS代码都要export default

    在my-project项目中,会自动为每一个路由带上/#,然后才是我们自己定义的path,这是怎么设置的?

    http://localhost:8080/#/la
    

    <router-link>比<a>好在哪里
    router和$route(路由信息对象)区别在哪里
    $route.path

    route map component
    每一个route对应一个component,通过<router-view>渲染出来,

    为什么在vue-cli项目中,不用<router-link>,只通过<router-view>,就可以把组件可以渲染出来?????

    用上name的话,一个route可以渲染多个component

    初步理解redirect和alias
    redirect 是有/a换成/b,URL地址换成/b,而且渲染的组件也换成/b
    alias 是有/a换成/b,URL地址换成/b,但是渲染的组件不变

    相关文章

      网友评论

          本文标题:vue cli的项目

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