当前位置:首页 > 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 实现全文检索的方法 客户端全文检索(适用于小型数据集) 使用 flexsearch 或 lunr.js 等轻量级库实现前端全文检索: import FlexSearch from 'flex…

vue实现多级组件

vue实现多级组件

实现多级组件的基本结构 在Vue中实现多级组件通常涉及父子组件嵌套,通过props向下传递数据,通过$emit向上传递事件。多级组件的核心是递归或动态组件渲染。 <!-- 父组件 Paren…

vue实现弹窗可切换

vue实现弹窗可切换

实现弹窗可切换的 Vue 方案 动态组件切换 通过 Vue 的 <component :is="currentComponent"> 动态加载不同弹窗组件,结合 v-if 控制显示状态。…

vue实现继承语法糖

vue实现继承语法糖

在Vue中实现继承可以通过多种方式模拟类继承的效果,以下是常见的几种方法: 使用mixins实现逻辑复用 通过Vue的mixins机制共享组件选项,达到类似继承的效果: const BaseC…

vue实现一个系统

vue实现一个系统

Vue 系统实现步骤 项目初始化与配置 使用 Vue CLI 或 Vite 创建项目: npm init vue@latest my-system 选择需要的配置(Router、Pinia 等)。…

vue实现双折线图

vue实现双折线图

实现双折线图的步骤 安装必要的依赖库(如 ECharts 或 Chart.js),这里以 ECharts 为例: npm install echarts --save 在 Vue 组件中引入 ECh…