当前位置:首页 > VUE

node vue实现

2026-03-07 16:08:10VUE

使用 Node.js 和 Vue.js 实现前后端分离开发

后端部分(Node.js)

安装必要的依赖包:

npm init -y
npm install express body-parser cors

创建 server.js 文件作为后端入口:

const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');

const app = express();
app.use(cors());
app.use(bodyParser.json());

const PORT = 3000;

app.get('/api/data', (req, res) => {
  res.json({ message: 'Data from Node.js backend' });
});

app.listen(PORT, () => {
  console.log(`Server running on port ${PORT}`);
});

前端部分(Vue.js)

使用 Vue CLI 创建项目:

npm install -g @vue/cli
vue create vue-frontend
cd vue-frontend

安装 axios 用于 HTTP 请求:

npm install axios

修改 src/App.vue 文件:

<template>
  <div>
    <h1>{{ message }}</h1>
  </div>
</template>

<script>
import axios from 'axios';

export default {
  data() {
    return {
      message: ''
    }
  },
  created() {
    axios.get('http://localhost:3000/api/data')
      .then(response => {
        this.message = response.data.message;
      })
      .catch(error => {
        console.error(error);
      });
  }
}
</script>

跨域问题解决方案

在后端 Node.js 应用中已经通过 cors 中间件处理了跨域问题。如果需要更细粒度的控制,可以配置 CORS 选项:

const corsOptions = {
  origin: 'http://localhost:8080',
  optionsSuccessStatus: 200
};
app.use(cors(corsOptions));

项目运行方式

启动后端服务:

node server.js

启动前端开发服务器:

cd vue-frontend
npm run serve

生产环境部署

构建前端生产版本:

npm run build

将生成的 dist 文件夹内容部署到 Web 服务器(如 Nginx),或者与 Node.js 后端集成:

const path = require('path');
app.use(express.static(path.join(__dirname, 'vue-frontend/dist')));

app.get('*', (req, res) => {
  res.sendFile(path.join(__dirname, 'vue-frontend/dist/index.html'));
});

数据交互增强

实现 POST 请求示例:

后端路由:

app.post('/api/save', (req, res) => {
  const data = req.body;
  // 处理数据逻辑
  res.json({ status: 'success', data });
});

前端调用:

node vue实现

axios.post('http://localhost:3000/api/save', { key: 'value' })
  .then(response => {
    console.log(response.data);
  });

这种架构实现了前后端完全分离,便于独立开发和部署。

标签: nodevue
分享给朋友:

相关文章

vue实现适老化样式

vue实现适老化样式

Vue 实现适老化样式的关键方法 全局字体与字号调整 通过 CSS 变量或主题配置统一放大基础字号,建议正文不小于 18px,标题更大。在 App.vue 中设置全局样式: :root { --…

vue实现bootstrap

vue实现bootstrap

Vue 中集成 Bootstrap 的方法 在 Vue 项目中集成 Bootstrap 可以通过以下方式实现,涵盖样式、组件和交互功能。 安装 Bootstrap 依赖 通过 npm 或 yarn…

vue实现erp

vue实现erp

Vue实现ERP系统的关键步骤 技术选型与架构设计 采用Vue 3 + TypeScript构建前端,搭配Pinia状态管理,Element Plus或Ant Design Vue作为UI框架。后端可…

vue diff实现

vue diff实现

Vue Diff 算法实现原理 Vue 的虚拟 DOM Diff 算法(即 patch 过程)是其高效渲染的核心,主要通过对比新旧虚拟节点的差异,最小化 DOM 操作。以下是关键实现要点: 同层级比…

vue实现flvvideo

vue实现flvvideo

vue-flv-player 实现 FLV 视频播放 安装依赖包 npm install flv.js vue-flv-player 基础组件引入 <template> <v…

vue实现视频

vue实现视频

Vue 实现视频播放的方法 在 Vue 项目中实现视频播放可以通过多种方式完成,以下是几种常见的方法: 使用 HTML5 的 <video> 标签 在 Vue 组件中直接使用 HTML…