首页 > 解决方案 > 可以使用nodejs'mysql'模块将角度7连接到mysql

问题描述

我有一些 angularjs 1.x 的经验,最近正在尝试 angular 7。我知道 nodejs 有一个mysql模块可以创建与mysql服务器的连接并进行查询。我尝试将以下代码放入 anguar 7 js 文件

var mysql = require('mysql');
var connection = mysql.createPool({
    host: 'mydbhost',
    user: 'mydbuser',
    password : 'mydbpasswd',
    database : 'mydb'
});
connection.query("select * from mydbtable", function (error, results, fields) {
    results.forEach(result => {
        console.log(result);
    });
}); 

但是角度给我以下编译错误:

错误 TS2580:找不到名称“要求”。您需要为节点安装类型定义吗?尝试npm i @types/node然后添加node到 tsconfig 中的类型字段

我想在没有任何休息 api 的情况下通过 angular 7 完成所有操作。是否可以?

谢谢。

标签: mysqlnode.jsangular7

解决方案


可能 - 是的,推荐 - 绝对不是!

从 FE 连接到数据库会将您的数据库暴露给任何恶意用户,他们只需将您的代码(包括凭据)复制到数据库,然后对它做任何他们想做的事情,包括破坏您的数据库并销毁它!


推荐阅读