当前位置:首页 > VUE

node vue实现

2026-01-13 23:45:05VUE

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

后端(Node.js)搭建 Express框架是Node.js中常用的后端框架,安装Express并创建基础服务器:

npm install express cors

创建server.js文件:

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

app.use(cors());
app.use(express.json());

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

const PORT = 3000;
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
npm install axios

修改src/App.vue调用后端API:

<template>
  <div>
    <p>{{ backendData.message }}</p>
  </div>
</template>

<script>
import axios from 'axios';

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

项目联调与跨域处理

后端需配置CORS中间件允许前端访问:

node vue实现

app.use(cors({
  origin: 'http://localhost:8080' // Vue默认开发端口
}));

前端开发服务器代理配置(vue.config.js):

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://localhost:3000',
        changeOrigin: true
      }
    }
  }
};

生产环境部署

构建Vue前端静态文件:

npm run build

配置Express托管静态文件:

node vue实现

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

添加通配路由处理SPA:

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

数据库集成示例(MongoDB)

安装mongoose连接数据库:

npm install mongoose

数据库连接与模型定义:

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/mydb');

const Item = mongoose.model('Item', {
  name: String,
  value: Number
});

app.post('/api/items', async (req, res) => {
  const newItem = new Item(req.body);
  await newItem.save();
  res.status(201).send(newItem);
});

标签: nodevue
分享给朋友:

相关文章

vue实现轮询

vue实现轮询

实现轮询的基本方法 在Vue中实现轮询可以通过setInterval或setTimeout配合递归调用完成。轮询通常用于定期向服务器请求数据更新。 使用setInterval的简单示例: data…

vue实现iframe

vue实现iframe

Vue 中实现 iframe 的方法 在 Vue 项目中,可以通过多种方式实现 iframe 的嵌入。以下是几种常见的方法: 使用原生 HTML iframe 标签 直接在 Vue 组件的模板中使用…

vue实现erp

vue实现erp

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

vue实现频道

vue实现频道

Vue实现频道功能的方法 使用Vue Router动态路由 通过Vue Router的动态路由功能可以轻松实现频道切换。在路由配置中定义动态参数,组件内通过this.$route.params获取当前…

vue 轮询实现

vue 轮询实现

轮询的基本概念 轮询是一种通过定时向服务器发送请求来获取最新数据的技术。适用于需要实时更新但无法使用WebSocket的场景。 使用setInterval实现轮询 在Vue组件中,可以通过setIn…

黑马vue实现

黑马vue实现

以下是关于使用 Vue.js 实现黑马相关功能或项目的关键方法和实践指南: 环境配置与项目初始化 安装最新版 Vue CLI 或使用 Vite 创建项目: npm create vue@lates…