Day 11 vue-cli、Vue.js工程化项目起步

1、安装node.js

具体安装过程见简书文章:https://www.jianshu.com/p/e3e5c9c68f66
vue-cli这个构建工具大大降低了webpack的使用难度,支持热更新,有webpack-dev-server的支持,相当于启动了一个请求服务器,给你搭建了一个测试环境,只关注开发就可以了。

2、Vue的单页应用的脚手架程序构建

  • 进入某个目录,如:E://VueStudy


  • 通过命令创建项目:vue init webpack vue-router-demo



    创建成功
  • 进入vue-router-demo目录

  • 安装依赖:npm install


    安装依赖
更改端口号
  • 测试
    测试成功

    注意:ctrl+c退出批处理状态

3、进行一级路由配置

  • 项目结构


    项目结构
  • 在package.json的依赖文件,加入axios依赖
"dependencies": {
   "vue": "^2.5.2",
   "vue-router": "^3.0.1",
   "axios": "^0.18.0"
 }
  • 安装axios,在命令行:npm install
  • 项目的src目录的main.js文件引入axios
import Vue from 'vue'
import App from './App'
import router from './router'
import axios from 'axios'

Vue.config.productionTip = false
Vue.prototype.$http = axios

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})
  • 配置index.js文件
import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

export default new Router({
   // 去除#的hash模式
   mode: "history",
   routes: [
       {
           //我的班课
           path: '/',
           name: 'Index',
           component: resolve => require(['../components/Index.vue'], resolve)
       },
       {
           //任务中心
           path: '/task',
           name: 'Task',
           component: resolve => require(['../components/Task.vue'], resolve)
       },
       {
           //库管理
           path: '/lib',
           name: 'Lib',
           component: resolve => require(['../components/Lib.vue'], resolve)
       },
       {
           //个人中心
           path: '/ucenter',
           name: 'UCenter',
           component: resolve => require(['../components/UCenter.vue'], resolve)
       },
       {
           //新建班课
           path: '/new_course',
           name: 'NewCourse',
           component: resolve => require(['../components/NewCourse.vue'], resolve)
       },
       {
           //班课详情
           path: '/course/:id',
           name: 'CourseDetail',
           component: resolve => require(['../components/CourseDetail.vue'], resolve)
       }
   ]
})
  • 路由跳转例子:
    • 无参跳转
<router-link to="/">
    <img src="./assets/logo.png" class="logo"/>
</router-link>
<router-link to="/task" class="nav-item">任务中心</router-link>
  • 路径传参跳转:
<router-link :to="'/course/' + course.courseId">
    <img :src="course.cover" />
</router-link>
2.jpg
3.jpg
4.jpg
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 33、JS中的本地存储 把一些信息存储在当前浏览器指定域下的某一个地方(存储到物理硬盘中)1、不能跨浏览器传输:在...
    萌妹撒阅读 2,255评论 0 2
  • ## 框架和库的区别?> 框架(framework):一套完整的软件设计架构和**解决方案**。> > 库(lib...
    Rui_bdad阅读 3,157评论 1 4
  • 在实现 egg + vue 服务端渲染工程化实现之前,我们先来看看前面两篇关于Webpack构建和Egg的文章: ...
    hubcarl阅读 6,145评论 0 19
  • vue-cli搭建项目 确保安装了node与npm 再目标文件夹下打开终端 执行cnpm i vue-cli -g...
    Akiko_秋子阅读 3,366评论 1 22
  • 本例主要采用 vue-cli 配合 webpack 来创建项目,采用了 VueRouter ,引入 axios 库...
    yu_liu阅读 868评论 0 0

友情链接更多精彩内容