iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >如何搭建vue+vuex+koa2开发环境
  • 811
分享到

如何搭建vue+vuex+koa2开发环境

2024-04-02 19:04:59 811人浏览 八月长安
摘要

这篇文章主要介绍了如何搭建Vue+vuex+koa2开发环境,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。写在前面这篇文章的主要目的是学会使

这篇文章主要介绍了如何搭建Vue+vuex+koa2开发环境,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

写在前面

这篇文章的主要目的是学会使用koa框架搭建WEB服务,从而提供一些后端接口,供前端调用。

搭建这个环境的目的是: 前端工程师在跟后台工程师商定了接口但还未联调之前,涉及到向后端请求数据的功能能够走前端工程师自己搭建的Http路径,而不是直接在前端写几个死数据。即,模拟后端接口。

当然在这整个过程(搭建环境 + 开发示例demo)中,涉及到以下几点知识点。

包括:

  1. koa2的知识点

  2. node的知识点

  3. 跨域问题

  4. fetch的使用

  5. axiOS的使用

  6. promise的涉及

  7. vuex -> state、mutations、actions的使用

第一部分:环境搭建

vue + vuex环境

首先是vue + vue-router + vuex的环境。我们用vue-cli脚手架生成项目,会用vue的同学对这块应该很熟了。

// 全局安装脚手架工具
npm i vue-vli -g
// 验证脚手架工具安装成功与否
vue --version
// 构建项目
vue init webpack 项目名
// 测试vue项目是否运行成功
npm run dev

因为脚手架生成的vue项目不包含vuex,所以再安装vuex。

// 安装vuex
npm i vuex --save

koa2环境

前端项目构建好了,就开始构建我们的后端服务。

首先在你的开发工具(不管是webstORM还是sublime)里新建一个目录,用来搭建基于koa的web服务。

在这里,我们不妨给这个目录起名为koa-demo。

然后执行:

// 进入目录
cd koa-demo
// 生成package.JSON
npm init -y
// 安装以下依赖项
npm i koa
npm i koa-router
npm i koa-cors

安装好koa和两个中间件,环境就算搭建完成了。

第二部分:示例开发

搭建环境是为了使用,所以我们立马来写一个demo出来。

demo开发既是一个练习如何在开发环境中写代码的过程,反过来,也是一个验证环境搭建的对不对、好不好用的过程。

后端接口开发

本例中,后端我们只提供一个服务,就是给前端提供一个返回json数据的接口。代码中包含注释,所以直接上代码。

server.js文件

// server.js文件

let Koa = require('koa');
let Router = require('koa-router');

let cors = require('koa-cors');
// 引入modejs的文件系统api
let fs = require('fs');

const app = new Koa();
const router = new Router();

// 提供一个/getJson接口
router
  .get('/getJson', async ctx => {
    // 后端允许cors跨域请求
    await cors();
    // 返回给前端的数据
    ctx.body = JSON.parse(fs.readFileSync( './static/material.json'));
  
  });

// 将koa和两个中间件连起来
app.use(router.routes()).use(router.allowedMethods());

// 监听3000端口
app.listen(3000);

这里面用到了一个json文件,在'./static/material.json'路径,该json文件的代码是:

// material.json文件

[{
  "id": 1,
  "date": "2016-05-02",
  "name": "张三",
  "address": "北京 清华大学",
}, {
  "id": 2,
  "date": "2016-05-04",
  "name": "李四",
  "address": "上海 复旦大学",
}, {
  "id": 3,
  "date": "2016-05-01",
  "name": "王五",
  "address": "广东 中山大学",
}, {
  "id": 4,
  "date": "2016-05-03",
  "name": "赵六",
  "address": "广东 深圳大学",
}, {
  "id": 5,
  "date": "2016-05-05",
  "name": "韩梅梅",
  "address": "四川 四川大学",
}, {
  "id": 6,
  "date": "2016-05-11",
  "name": "刘小律",
  "address": "湖南 中南大学",
}, {
  "id": 7,
  "date": "2016-04-13",
  "name": "曾坦",
  "address": "江苏 南京大学",
}]

然后我们是用以下命令将服务启动

node server.js

测试接口是否良好

打开浏览器,输入http://127.0.0.1:3000/getJson。看一看页面上是否将json文件中的json数据显示出来,如果能够显示出来,则说明这个提供json数据的服务,我们已经搭建好了。

前端调用后端接口示例

为突出重点,排除干扰,方便理解。我们的前端就写一个组件,组件有两部分:首先是一个按钮,用来调用web服务的getJson接口;然后是一个内容展示区域,拿到后端返回的数据以后,将其在组件的这块区域显示出来。

首先我们看组件文件吧

<template>
  <div class="test">
    <button type="button" @click="getJson">从后端取json</button>
    <div class="showJson">{{json}}</div>
  </div>
</template>

<script>
  import {store} from '../vuex'
  export default {
    computed: {
     json(){
       return store.state.json;
     }
    },
    methods: {
     getJson(){
       store.dispatch("getJson");
     }
    }
  }
</script>

<style scoped>
 .showJson{
  width:500px;
  margin:10px auto;
  min-height:500px;
  background-color: palegreen;
 }
</style>

非常简单,就不多解释了。

然后看我们的vuex文件。

import Vue from 'vue'
import Vuex from 'vuex';

Vue.use(Vuex)
const state = {
  json: [],
};

const mutations = {
 setJson(state, db){
  state.json = db;
 }
}

const actions = {
 getJson(context){
  // 调用我们的后端getJson接口
  fetch('http://127.0.0.1:3000/json', {
   method: 'GET',
   // mode:'cors',
   headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
   },
  }).then(function (res) {
   if(res.status === 200){
    return res.json()
   }
  }).then(function (json) {

   //console.log(typeof Array.from(json), Array.from(json));
   context.commit('setJson', Array.from(json));
  })
 }
};

export const store = new Vuex.Store({
 state: state,
 mutations: mutations,
 actions: actions,
})

ok, 代码撸完了。

说说axios

想要把本demo的fetch改为axios方式,要做的工作有以下几处:

1、安装axios、在vuex文件引用axios

npm i axios
import axios from 'axios'

2、将fetch部分代码替换为:

const actions = {
 getJson(context){
  axios.get('/json', {
   method: 'GET',
   // mode:'cors',
   headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
   },
  }).then(function (res) {
   if(res.status === 200){
    return res.data
   }
  }).then(function (json) {

   //console.log(typeof Array.from(json), Array.from(json));
   context.commit('setJson', Array.from(json));
  })
 }
};

3、又会遇到跨域,在webpack中修改,路径config/index.js文件中添加proxyTable项的配置:

proxyTable: {
   '/json': {
    target: 'http://127.0.0.1:3000',
    changeOrigin: true,
    pathRewrite: {
     '^/json': '/json'
    }
   }
  },

后记

基于vue脚手架搭建的项目,模拟异步取数据,也可以直接在脚手架生成的static文件夹下放置数据,假装是后台拿过来的数据。

不过搭建一个基于express或者koa的web服务,确实也该是一个前端工程师应该掌握的。

感谢你能够认真阅读完这篇文章,希望小编分享的“如何搭建vue+vuex+koa2开发环境”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网JavaScript频道,更多相关知识等着你来学习!

--结束END--

本文标题: 如何搭建vue+vuex+koa2开发环境

本文链接: https://www.lsjlt.com/news/66425.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何搭建vue+vuex+koa2开发环境
    这篇文章主要介绍了如何搭建vue+vuex+koa2开发环境,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。写在前面这篇文章的主要目的是学会使...
    99+
    2024-04-02
  • vue+vuex+koa2开发环境怎么搭建
    这篇“vue+vuex+koa2开发环境怎么搭建”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue+vuex+koa2开发...
    99+
    2023-07-04
  • 如何搭建Vuex环境
    这篇文章主要介绍了如何搭建Vuex环境的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何搭建Vuex环境文章都会有所收获,下面我们一起来看看吧。 1. 概念 Vuex 是一...
    99+
    2024-04-02
  • Vue 搭建Vuex环境详解
    目录搭建Vuex环境总结 搭建Vuex环境 在src目录下创建一个文件夹store,在store文件夹内创建一个index.js文件 index.js用于创建Vuex中最核心的sto...
    99+
    2024-04-02
  • Vue Vuex搭建vuex环境及vuex求和的方法
    今天小编给大家分享一下Vue Vuex搭建vuex环境及vuex求和的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2023-06-30
  • 如何使用vue-cli+webpack搭建vue开发环境
    这篇文章主要介绍了如何使用vue-cli+webpack搭建vue开发环境,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在这里我们需要首先下...
    99+
    2024-04-02
  • 如何搭建vue.js开发环境
    这篇文章将为大家详细讲解有关如何搭建vue.js开发环境,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。vue.js开发环境搭建教程分享,具体内容如下1、安装node.js...
    99+
    2024-04-02
  • 如何搭建C++开发环境
    本篇内容主要讲解“如何搭建C++开发环境”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何搭建C++开发环境”吧!1.我们先来看看内联函数给我们带来的好处:从一个用户的角度来看,内联函数看起来和...
    99+
    2023-06-17
  • 如何搭建Scala开发环境
    这篇文章主要介绍了如何搭建Scala开发环境,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Scala基于Java平台,所以Scala开发环境很容易搭建。看了下面的介绍,你会对...
    99+
    2023-06-17
  • 如何搭建Java开发环境
    这篇“如何搭建Java开发环境”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“如何搭建Java开发环境”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入主题吧。...
    99+
    2023-06-26
  • Jspxcms开发环境如何搭建
    本文小编为大家详细介绍“Jspxcms开发环境如何搭建”,内容详细,步骤清晰,细节处理妥当,希望这篇“Jspxcms开发环境如何搭建”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Jspxcms开发环境使用ecli...
    99+
    2023-06-26
  • git开发环境如何搭建
    这篇文章主要介绍“git开发环境如何搭建”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“git开发环境如何搭建”文章能帮助大家解决问题。一、安装 GitGit 的安装方式有多种,下面介绍两种常用的方式...
    99+
    2023-07-05
  • Angular如何搭建开发环境
    这篇文章给大家分享的是有关Angular如何搭建开发环境的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Angular 是一款开源 JavaScript 框架,由Google 维护...
    99+
    2024-04-02
  • golang如何开发环境搭建
    搭建步骤:1、在Golang官方网站上下载适合操作系统的安装包;2、按照官方文档或安装指南的说明,执行安装程序进行安装;3、将Golang的安装路径添加到系统的PATH环境变量中;4、在计算机上创建一个用于存放Golang项目的工作目录;5...
    99+
    2023-12-15
    Golang 环境搭建
  • php开发环境如何搭建
    要搭建PHP开发环境,您需要按照以下步骤进行操作: 安装Web服务器:您可以选择Apache、Nginx等常见的Web服务器。根据...
    99+
    2023-10-25
    php
  • JBPM开发环境如何搭建
    要搭建JBPM的开发环境,需要以下几个步骤:1. 安装Java JDK:首先要确保机器上已安装Java JDK,并设置好JAVA_H...
    99+
    2023-09-11
    JBPM
  • Vue Vuex搭建vuex环境及vuex求和案例分享
    目录Vuex介绍概念何时使用多个组件需要共享数据时求和案例–纯vue版搭建vuex环境求和案例–vuex版一些疑惑和问题Vuex介绍 概念 在 Vue 中实现...
    99+
    2024-04-02
  • Python开发环境如何搭建
    小编给大家分享一下Python开发环境如何搭建,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、Python解释器 安装Windows平台下载地址 https:/...
    99+
    2023-06-15
  • linux开发环境如何搭建
    要搭建Linux开发环境,可以按照以下步骤进行:1. 选择Linux发行版:根据自己的需求和偏好,选择适合的Linux发行版,如Ub...
    99+
    2023-08-17
    linux
  • 如何搭建flutter开发环境
    学习Flutter,首先需要搭建好Flutter的开发环境,下面我将一步步带领大家搭建开发环境并且成功运行flutter项目。 一、系统基本要求 操作系统:windows7以上64位操作系统 git环...
    99+
    2023-09-05
    flutter android android studio 前端框架
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作