nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)

下面详细讲解如何使用nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例,并实现跨域请求。步骤如下:

1.创建后端项目

1.1 创建项目文件夹,并在终端中进入该文件夹,执行以下命令初始化项目:

npm init

1.2 安装express框架:

npm install express --save

1.3 在项目根目录中创建app.js文件,并编写以下代码:

const express = require('express');
const app = express();

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

app.use(function(req, res, next) {
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
  next();
});

app.get('/api/test', function(req, res) {
  res.json({ message: 'Hello, world!' });
});

const port = process.env.PORT || 3000;
app.listen(port, function() {
  console.log(`Server listening on port ${port}`);
});

1.4 执行以下命令运行项目:

node app.js

1.5 访问 http://localhost:3000/api/test 确认后台服务是否正常运行。

2.创建前端项目

2.1 安装vue-cli:

npm install -g vue-cli

2.2 创建项目:

vue init webpack my-project

其中my-project为项目名称,根据自己需求更改。

2.3 进入项目目录,安装依赖:

cd my-project && npm install

2.4 在/src目录下创建env.js文件,编写以下代码:

const env = {
  API_HOST: 'http://localhost:3000'
};

export default env;

2.5 在/config/index.js中修改以下配置:

module.exports = {
  // ...
  dev: {
    // ...
    proxyTable: {
      '/api': {
        target: env.API_HOST,
        changeOrigin: true,
        pathRewrite: {
          '^/api': '/api'
        }
      }
    }
  },
  // ...
}

2.6 在/src/components/HelloWorld.vue文件中,编写以下代码:

<template>
  <div class="hello">
    <button @click="fetchMessage">Fetch message</button>
    <p>{{ message }}</p>
  </div>
</template>

<script>
import axios from 'axios';
import env from '../env';

export default {
  data () {
    return {
      message: null
    }
  },
  methods: {
    fetchMessage() {
      axios.get('/api/test').then(response => {
        this.message = response.data.message;
      });
    }
  }
}
</script>

2.7 执行以下命令运行项目:

npm run dev

2.8 在浏览器中访问 http://localhost:8080 ,点击 Fetch message 按钮,如果正常显示“Hello, world!”则说明跨域请求成功。

上述示例中,我们通过使用nodeJS(express4.x)后台框架和vue-cli前端工具,来实现了基于前后端分离的应用开发,并解决了跨域问题。在后端中我们创建了一个API接口,前端通过axios库向该接口发起请求,并获取到接口返回的数据。每个项目中的示例代码都可以根据实际情况进行修改。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域) - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • Node后端Express框架安装及应用

    安装Express框架: 1.首先需要安装Node.js,可以前往Node.js官网下载相应版本的安装包并完成安装。 2.打开命令行工具,输入以下命令安装Express框架: npm install express –save 其中,–save选项将安装的内容添加进package.json文件中,方便后续依赖管理。 3.在项目目录下创建app.js文件,…

    node js 2023年6月8日
    00
  • 深入解析nodejs HTTP服务

    深入解析Node.js HTTP服务 在Node.js中,提供了核心模块http,用于快速构建HTTP服务端应用。我们可以使用该模块创建HTTP服务器、处理HTTP请求、响应HTTP响应等。 HTTP服务器的创建 使用http模块创建服务器主要需要以下步骤: 导入http模块 const http = require(‘http’); 创建服务器 const…

    node js 2023年6月8日
    00
  • 解决Node.js mysql客户端不支持认证协议引发的问题

    问题描述 在使用 Node.js MySQL 客户端时,可能会遇到以下错误: Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client 这个错误发…

    node js 2023年6月8日
    00
  • JS实现树形结构与数组结构相互转换并在树形结构中查找对象

    要实现树形结构与数组结构相互转换的过程,我们可以使用JavaScript编程语言中的相关函数。 实现树形结构转化为数组结构 算法原理 将树形结构转化为数组结构的过程是一个递归过程。从根节点开始,对于每个节点,我们把其子节点递归地放入数组中,并返回该数组。注意,所有节点的顺序应该遵循深度优先遍历算法的原则。 代码示例 function tree2Array(t…

    node js 2023年6月8日
    00
  • nodejs实现聊天机器人功能

    下面我将给您详细讲解如何使用Node.js实现聊天机器人功能。 什么是聊天机器人? 在开始之前,我想先简单介绍一下什么是聊天机器人。聊天机器人是一种基于人工智能技术的应用工具,它可以模拟人的思维,通过自然语言接口模拟人与机器人的对话。聊天机器人可以用来完成一系列人工智能的任务,比如智能客服、自动回复、自动问答等。 使用Node.js实现聊天机器人功能 使用N…

    node js 2023年6月8日
    00
  • js编写简单的聊天室功能

    下面是JS编写简单的聊天室功能的完整攻略: 1. 构建前端页面 首先,需要使用 HTML、CSS 和 JavaScript 来构建聊天室页面。可以使用 Bootstrap 或其他前端框架来简化页面的构建过程。 2. 使用WebSocket协议 使用WebSocket协议来实现实时通信,可以使用 Socket.IO,这是一个基于 Node.js 的跨平台实时通…

    node js 2023年6月8日
    00
  • javascript 小数乘法结果错误的处理方法

    这里是详细讲解“JavaScript小数乘法结果错误的处理方法”的完整攻略。 问题描述 在JavaScript中,对于两个小数进行乘法运算时,有时会出现结果错误的问题,例如: 0.1 * 0.2 // 返回 0.020000000000000004 事实上,正确的结果应该是0.02,这种错误会给数值计算带来一定的困扰。那么为什么会出现这种问题呢? 问题原因 …

    node js 2023年6月8日
    00
  • 深入理解Node.js 事件循环和回调函数

    深入理解Node.js事件循环和回调函数攻略 Node.js是基于事件驱动的异步I/O框架,其事件循环是JavaScript代码异步执行的核心机制。理解事件循环和回调函数的机制非常重要,因为它们对于Node.js应用程序性能的影响非常大。本文将深入讲解Node.js事件循环和回调函数的机制,并提供示例。 事件循环 Node.js的事件循环机制基本上是不停的从…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部