Соединение с PostgreSQL через javascript

Я ищу способ подключиться к postgresql прямо в браузере. Я пытаюсь использовать nodejs и браузер, но пока не повезло с комплектацией. Всякий раз, когда я компилирую скрипт, содержащий

require('pg')

в браузере конкретно указано:

Не удается найти модуль '/node_modules/pg/lib/client'

впоследствии браузер сообщает мне, что он не может найти модули, которые требует pg. Может быть, мне нужно связать pg с браузером раньше?

Я ценю, если у кого-то есть идея о том, как работать над этим, или даже предложение, как я могу подключиться через javascript к pgsql.


person ins0m    schedule 17.10.2013    source источник


Ответы (1)


Хотя некоторые модули узлов могут в какой-то степени повторно использоваться в веб-браузере, большинство из них используют преимущества конкретных функций или драйверов Node.JS и не могут работать ни в одном веб-браузере. Такой случай, как пакет Postgresql, является прекрасным примером, так как он требует многих функций, которых просто нет в веб-браузере.

Если вы посмотрите на API Node.JS (http://nodejs.org/api/), эти API-интерфейсы недоступны в браузере (некоторые из них можно эмулировать, но многие из них представляют собой файловую систему, низкоуровневые сокеты, двоичные модули и т. д.).

Если вы хотите использовать Postgresql, вам необходимо создать уровень веб-сервера и предоставить собственный API (вероятно, API в стиле RESTful) и вызывать веб-службы для выполнения действий с базой данных, которые вы хотите использовать. Вы можете использовать Connect или Express, чтобы сделать написание уровня веб-сервиса более удобным.

person WiredPrairie    schedule 17.10.2013
comment
Кажется, это единственный вариант, но это именно то, что я пытался обойти с помощью браузера. Спасибо, в любом случае - person ins0m; 27.10.2013
comment
Вы все еще упускаете суть того, что делает browserify. Он не может сделать вещи совместимыми с браузером, если API, которые использует код, недоступны для браузера. - person WiredPrairie; 27.10.2013
comment
Я не пропустил это - я прекрасно понимаю, что делает браузер. Но мне было непонятно, какие API недоступны. - person ins0m; 27.10.2013