【问题标题】:How to use the pg node package in angular如何在 Angular 中使用 pg 节点包
【发布时间】: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 模块仅适用于服务器端。

标签: node.js database angular postgresql npm


【解决方案1】:

您可以使用已编译的 ts 在节点中编写服务器端代码,但可能不能使用 angular。

【讨论】:

  • 所以我需要用 node 创建一个后端,然后提供我自己的 API 端点?
  • 这是我的理解,但就我个人而言,我使用 PHP 构建我的 API。
  • 你知道任何好的资源来弄清楚如何创建它们吗?我不介意 PHP,但我宁愿避免它。
猜你喜欢
  • 2018-07-17
  • 2021-08-09
  • 2020-04-04
  • 2017-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-20
  • 2017-02-23
相关资源
最近更新 更多