如何在 Angular 中使用 pg 节点包
Posted
技术标签:
【中文标题】如何在 Angular 中使用 pg 节点包【英文标题】:How to use the pg node package in angular 【发布时间】:2018-08-14 17:39:31 【问题描述】:情况
嗨,我是 Angular 的新手,我一直在按照教程做一些项目,然后我尝试开始自己的项目来练习我的 Postgres 和新获得的 Angular“技能” em>。
我正在尝试做一个使用node pg module 连接到 postgres 数据库的 web 应用程序。
(我知道 sequelize 是一个东西,它似乎比 pg 工作得更好,但 AFAIK sequelize 不允许你通过它运行纯 postgres 命令) 如果我错了,请纠正我关于这个
问题
这是我卡住的地方,我正在尝试按照文档中的说明进行操作,但它似乎无法正常工作。
我试过了:
const Client = require('pg');
import Client from 'pg';
还尝试将其导入到 .angular-cli.json
数组中的 scripts
中
所有这些都失败并出现类似的错误
ERROR in ./node_modules/pg/lib/connection-parameters.js Module not found: Error: Can't resolve 'dns' in '[...]\node_modules\pg\lib'
ERROR in ./node_modules/pg/lib/native/client.js Module not found: Error: Can't resolve 'pg-native' in '[...]\node_modules\pg\lib\native'
但似乎没有任何工作正常。我这样做完全错了吗?
另外,很愚蠢的问题。我相信 Angular 可以在客户端完成所有工作,这对于产品中的数据库访问来说是一个巨大的安全风险。如果这是真的,有没有办法编写服务器端 .ts 服务?还是服务端?
【问题讨论】:
不要将服务器端库与客户端库打包在一起。 pg 模块仅适用于服务器端。 【参考方案1】:您可以使用已编译的 ts 在节点中编写服务器端代码,但可能不能使用 angular。
【讨论】:
所以我需要用 node 创建一个后端,然后提供我自己的 API 端点? 这是我的理解,但就我个人而言,我使用 php 构建我的 API。 你知道任何好的资源来弄清楚如何创建它们吗?我不介意 PHP,但我宁愿避免它。以上是关于如何在 Angular 中使用 pg 节点包的主要内容,如果未能解决你的问题,请参考以下文章