zoukankan      html  css  js  c++  java
  • Vue脚手架vue-cli

    72、前端脚手架介绍

    73、vue-cli脚手架生成项目

    74、项目各目录文件详解和执行过程

    75、项目中使用vue的API(simple模板基本使用)

     76、vue-cli中公共组件的创建和使用(simple模板)

     77、vue-cli的webpack模板创建项目

     78、webpack模板中集成插件vue-router


     

    72、前端脚手架介绍

    vue.js有个vue-cli脚手架,基于node.js的开发环境。作者帮你把开发环境大部分东西都配置好了
    你把脚手架下载下来就可以直接开发了,不用再考虑搭建这些工具环境。

     73、vue-cli脚手架生成项目

    参考官网安装脚手架:
    https://cli.vuejs.org/zh/guide/installation.html

    安装命令:
    npm install -g @vue/cli      //下载vue-cli到全局,下载完成后就可以在终端使用`vue *`命令。最新版本,这个安装了不需要配环境变量。时间需要十多分钟,而且要f*
    npm install -g @vue/cli-init // 全局安装一个桥接工具,既可以用2.x的命令也可以用3.x版本的命令,用这个兼容
    查看版本:
    vue -V

    生成脚手架项目命令:`vue init webpack-simple my_project`
      -----------------------------------

      vue init <模板类型> <项目名>
      vue init webpack-simple //简单配置的webpack模板
      vue init webpack //复杂的webpack模板,单元测试等

      -----------------------------------

    进入项目目录:cd  my_project

    自动安装依赖:npm install 

    运行:npm run dev   打开的是默认浏览器,如果需要打开谷歌浏览器,就在package.json文件第9行“open”后面加上“chrome”即可

    "dev": "cross-env NODE_ENV=development webpack-dev-server --open chrome --hot",

     74、项目各目录文件详解和执行过程

    执行过程:

     

     

     vue的生态圈:vue-awesome

     75、项目中使用vue的API(simple模板基本使用)

    创建vue项目后,把所有的组件都放在components目录下。

     App.vue

    <template>
      <div id="app">
         <h3>{{msg}}</h3>
         <div v-html="title"></div>
         <Home />
         <FreeCourse />
      </div>
    </template>
    
    
    <script>
      //导入
      import Home from './components/Home/Home.vue'
      import FreeCourse from './components/FreeCourse/FreeCourse.vue'
    
    export default {
      name: 'app',
      data () {
        return {
          msg: '我们来学习vue脚手架项目',
          title: '<p>学习开始了,第一天学v-xx</p>'
        }
      },
      components:{
        Home, FreeCourse
      }
    }
    </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>

    Home.vue

    <template>
      <div class="home">
        我是首页
      </div>
    </template>
    
    
    <script>
    export default {
      name: 'Home'
    }
    </script>
    
    <style>
    </style>

    FreeCourse.vue

    <template>
      <div class="free">
        我是免费课程
      </div>
    </template>
    
    
    <script>
    export default {
      name: 'FreeCourse'
    }
    </script>
    
    <style>
    </style>

    效果:

    <div id="app">
          <h3>我们来学习vue脚手架项目</h3>
          <div>
            <p>学习开始了,第一天学v-xx</p>
          </div>
          <div class="home">
            我是首页
          </div>
          <div class="free">
            我是免费课程
          </div>
    </div>

     76、vue-cli中公共组件的创建和使用(simple模板)

    公共组件创建包括:创建、引入、注册  三步

    创建全局组件Header.vue:

    Header.vue

    <template>
      <div class="header">
        我是头部(全局组件)
      </div>
    </template>
    
    
    <script>
    export default {
      name: 'Header'
    }
    </script>
    
    <style>
    </style>

    引入和注册两步在main.js中

    import Vue from 'vue'
    import App from './App.vue'
    //1.引入全局组件
    import Header from './components/Common/Header.vue'
    //2.注册全局组件
    Vue.component(Header.name, Header);
    
    new Vue({
      el: '#app',
      render: h => h(App)
    })

    使用全局组件(在任何地方都可以使用全局组件):

    <template>
      <div id="app">
        <Header />
         <h3>{{msg}}</h3>
         <div v-html="title"></div>
         <Home />
         <FreeCourse />
      </div>
    </template>

     77、vue-cli的webpack模板创建项目

    命令:`vue init webpack  vuecli_webpack_project`

    package.json:

     

     

     78、webpack模板中集成插件vue-router

    vue-router在创建vue-cli项目时可以自动安装,这里我们学习如何手动安装

    vue-cli的webpack模板没有安装vue-router时,写单页面应用需要将vue-router集成到项目中。

    进入项目所在目录,安装vue-router:`npm install vue-router -S`

    安装成功后:package.json中出现vue-router依赖:

    现在要引入vue-router插件,将插件的引入 和路由的配置单独放在src/router/index.js文件中:

    引入vue-router插件:  router/index.js (这里为什么要写在index.js里而不写在main.js里?因为写在main.js会看起来臃肿。 为什么写在新建文件夹router里?这就是模块化编程,这里写的代码实例化的对象,在别处导入使用

    import Vue from 'vue'
    // 等价于 import Home from '../components/Home/Home.vue'
    // 等价于 import FreeCourse from '../components/FreeCourse/FreeCourse.vue'
    import Home from '@/components/Home/Home'
    import FreeCourse from '@/components/FreeCourse/FreeCourse'
    /*
    路由配置文件
    */
    //之前script标签导入是全局的,API暴露在全局下
    import VueRouter from 'vue-router'
    //模块化之后,让vue使用此插件,相当于Vue.prototype.$router = VueRouter,这样写之后才能使用this.$router / this.$route等
    Vue.use(VueRouter);
    
    //创建vue-router
    var router = new VueRouter({
      routes:[
        {
          path:"/",
          name:"home",
          component:Home
        },
        {
          path:"/free",
          name:"free",
          component:FreeCourse
        },
      ]
    })
    
    export default router;

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

    App.vue

    <template>
      <div id="app">
        <router-link to="/">首页</router-link>
        <router-link to="/free">免费课程</router-link>
        <router-view></router-view>
      </div>
    </template>
    
    <script>
    
    export default {
      name: 'App',
    }
    </script>
    
    <style>
    </style>

    Home.vue

    <template>
      <div class="home">我是`首页`</div>
    </template>
    
    <script>
      export default {
        name: 'Home'
      }
    </script>
    
    <style>
    </style>

    FreeCourse.vue

    <template>
      <div class="free">我是`免费课程`</div>
    </template>
    
    <script>
      export default {
        name: 'FreeCourse'
      }
    </script>
    
    <style>
    </style>

    效果:

    为什么@ 等价于  src?

     

  • 相关阅读:
    java的构造方法 java程序员
    No result defined for action cxd.action.QueryAction and result success java程序员
    大学毕业后拉开差距的真正原因 java程序员
    hibernate的回滚 java程序员
    验证码 getOutputStream() has already been called for this response异常的原因和解决方法 java程序员
    浅谈ssh(struts,spring,hibernate三大框架)整合的意义及其精髓 java程序员
    你平静的生活或许会在某个不可预见的时刻被彻底打碎 java程序员
    Spring配置文件中使用ref local与ref bean的区别. 在ApplicationResources.properties文件中,使用<ref bean>与<ref local>方法如下 java程序员
    poj1416Shredding Company
    poj1905Expanding Rods
  • 原文地址:https://www.cnblogs.com/staff/p/11778190.html
Copyright © 2011-2022 走看看