mysql - 可以使用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 完成所有操作。是否可以?
谢谢。
解决方案
可能 - 是的,推荐 - 绝对不是!
从 FE 连接到数据库会将您的数据库暴露给任何恶意用户,他们只需将您的代码(包括凭据)复制到数据库,然后对它做任何他们想做的事情,包括破坏您的数据库并销毁它!
推荐阅读
- django - Django REST Serializer 使用错误的模型进行序列化
- python - python文件写入程序运行时如何更新桌面上的文件大小
- javascript - 使用 d3.js 更新表数据
- c# - C#捕获从不在进程中的函数返回的异常?
- r - 如何设置仅在输入 3 时才显示集合向量的函数?
- javascript - 如果 URI 没有改变,例如在单页应用程序上,如何检测用户是否在新页面上?
- angular - Angular Kendo UI 全局访问
- php - 内连接循环通过
- git - 如何 git rebase 从另一个分支直接到 master 分支?
- javascript - 受控数字比例映射