当前位置: 首页 > news >正文

网站架构是什么在哪里做网站比较好

网站架构是什么,在哪里做网站比较好,国外的服务器做的网站在国外能打开在国内打不开是什么原因,wordpress 入侵视频文章目录 前言项目背景使用的技术栈步骤一:设置 Node.js 项目步骤二:连接 SQL Server 数据库步骤三:查询数据库表结构步骤四:生成模板代码步骤五:整合所有功能总结 前言 在现代的前端开发中,使用 Vue3 搭配…

文章目录

  • 前言
      • 项目背景
      • 使用的技术栈
      • 步骤一:设置 Node.js 项目
      • 步骤二:连接 SQL Server 数据库
      • 步骤三:查询数据库表结构
      • 步骤四:生成模板代码
      • 步骤五:整合所有功能
      • 总结


前言

在现代的前端开发中,使用 Vue3 搭配 Element Plus 进行组件化开发已经成为一种常见的实践。最近,我在一个项目中需要根据数据库表结构动态生成表格代码,这让我经历了一次从 MySQL 到 SQL Server 的旅程,并学习了如何使用 ejs 模版引擎来生成代码。在这篇博客中,我将介绍如何使用 mysql2/promise 和 mssql 库连接数据库,以及如何利用 ejs 动态生成代码。

项目背景

我们需要在 Vue3 项目中封装一个 <my-table> 组件,该组件的表格列(tableColumns)需要根据数据库表结构动态生成。为了实现这一点,我搭建了一个 Node.js 服务,通过查询数据库表结构来生成表格代码。

使用的技术栈

  • Vue3:使用 setup 语法和 Element Plus 组件库。
  • Node.js:用于连接数据库并生成代码。
  • mysql2/promisemssql:用于连接 MySQL 和 SQL Server 数据库。
  • ejs:用于动态生成模板代码。

步骤一:设置 Node.js 项目

首先,创建一个新的 Node.js 项目并安装所需的库:

mkdir dynamic-table-generator
cd dynamic-table-generator
npm init -y
npm install express ejs mssql

步骤二:连接 SQL Server 数据库

由于我们的数据库是 SQL Server,我们使用 mssql 库来进行连接:

// db.js
const sql = require('mssql');const config = {user: 'your_username',password: 'your_password',server: 'your_server',database: 'your_database',options: {encrypt: true, // 使用 SSL 连接enableArithAbort: true}
};const connectToDatabase = async () => {try {await sql.connect(config);console.log('Connected to the database!');} catch (err) {console.error('Database connection failed: ', err);}
};module.exports = {connectToDatabase,sql
};

步骤三:查询数据库表结构

我们需要查询数据库以获取表的结构信息:

// getTableStructure.js
const { sql } = require('./db');const getTableStructure = async (tableName) => {try {const result = await sql.query`SELECT COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ${tableName}`;return result.recordset;} catch (err) {console.error('Error fetching table structure: ', err);}
};module.exports = getTableStructure;

步骤四:生成模板代码

使用 ejs 动态生成 Vue3 表格代码:

注意 其中用<%- %> 代替 <%= %> 来保留 tsx中的<> 尖括号。

// generateTemplate.js
const ejs = require('ejs');
const fs = require('fs');const generateTemplate = (columns) => {const template = `
<template><my-table :columns="tableColumns"></my-table>
</template><script setup>
import { reactive } from 'vue';const tableColumns = reactive([<% columns.forEach(column => { %>{prop: '<%= column.COLUMN_NAME %>',label: '<%= column.COLUMN_NAME %>',minWidth: 120,align: 'center',render(param: { row: any; index: number }) {const { row, index } = param;<% if (column.COLUMN_NAME.endsWith('Time') || column.COLUMN_NAME.endsWith('Date')) { %>return <>{formatDateTime(row.<%= column.COLUMN_NAME %>)}</>;<% } else { %>return <>{row.<%= column.COLUMN_NAME %>}</>;<% } %>}},<% }) %>
]);
</script>`;const result = ejs.render(template, { columns });fs.writeFileSync('output.vue', result);
};module.exports = generateTemplate;

步骤五:整合所有功能

搭建一个 Express 服务,处理生成代码的请求:

// server.js
const express = require('express');
const { connectToDatabase } = require('./db');
const getTableStructure = require('./getTableStructure');
const generateTemplate = require('./generateTemplate');const app = express();
const PORT = 3000;app.get('/generate-template', async (req, res) => {const tableName = req.query.table;const columns = await getTableStructure(tableName);generateTemplate(columns);res.send('Template generated successfully!');
});connectToDatabase().then(() => {app.listen(PORT, () => {console.log(`Server is running on http://localhost:${PORT}`);});
});

总结

通过以上步骤,我们成功地搭建了一个 Node.js 服务,能够根据 SQL Server 数据库中的表结构动态生成 Vue3 表格代码。我们使用 mssql 库连接数据库,ejs 模板引擎生成代码,并结合 Vue3Element Plus 实现了组件化开发。希望这篇博客能帮助到那些需要动态生成代码的开发者们。

http://www.yayakq.cn/news/884291/

相关文章:

  • 如何在腾讯云上网站建设wordpress搭建(lnmp)
  • 深圳微信网站建设公司查看网站服务器信息
  • 曲靖建设局网站黑色系 网站
  • 苏州工业园区劳动局网站做不了合同整站优化seo公司哪家好
  • 专业建站公司报价网络营销方案策划案例
  • 开发手机网站用什么好处江苏省建设考试培训网站
  • 自己怎么建立公司网站国外家居设计网站
  • 海口网站如何制作中企动力科技是干嘛的
  • 怎么做网站下载链接大型企业网站制作
  • 网站建设公司 跨界鱼科技优静态网页效果图
  • 百色网站优化减肥网站开发目的
  • 优惠券的网站怎么做网站建设及网页设计
  • 做彩票网站推广犯法吗网站首页被降权怎么做
  • 全国网站建设企业网站当地备案
  • 营销网站设计包括用asp怎么做网站
  • 哪里可以找人做网站用wordpress做企业网站视频教程
  • 佛山网站快速排名提升电子商务网站建设与实例
  • 龙口有没有做网站的设计一个网站需要什么
  • php网站代做是什么意思扬中做网站
  • 个人网站 做啥好网站代理什么意思
  • 东莞网站推广方案做文案图片上什么网站
  • 学校网站班级网页建设制度网站流量的主要来源有
  • 叫别人建个网站多少钱wordpress托管服务
  • wordpress漂亮手机网站模板下载北京网站推广外包
  • 六安做网站多少钱seo wordpress
  • 淘宝客网站一定要备案江苏网站建设开发
  • 康定网站建设工作室创建一个网址需要多少钱
  • 怎么做一个国外网站公司规模介绍范文
  • 米东区成业建设集团公司网站暖色调 网站
  • 一级a做爰片付费网站网站欢迎界面源码