javascript - 如何使用 ES6 语法导入 pg-promise?
问题描述
我正在尝试使用 ES6 语法在 nodejs 服务器中设置 Postgres 数据库,但我认为我没有正确导入和初始化 pg-promise。如果我使用常见的 js 语法,我会执行以下操作:
// Create Database Connection
const pgp = require('pg-promise')({});
const db = pgp(config.db);
// Test connection
db.connect()
.then((obj) => {
console.log('Connected to database');
obj.done(); // success, release connection;
})
.catch((error) => {
console.error('ERROR:', error.message);
});
使用 ES6 我正在尝试执行以下操作,但连接只是挂起并且没有完成或出错。
import pgPromise from 'pg-promise';
// Create Database Connection
const pgp = pgPromise({});
const db = pgp(config.db);
// Test connection
db.connect()
.then((obj) => {
console.log('Connected to database');
obj.done(); // success, release connection;
})
.catch((error) => {
console.error('ERROR:', error.message);
});
我搜索了 pg-promise 文档,找不到任何关于使用 ES6 语法的信息。关于我应该改变什么的任何想法?
解决方案
有任何错误信息吗?Nodejs需要特定条件来支持es模块,首先确保你已经正确引入了模块。
// index.mjs
import pgPromise from 'pg-promise';
const pgp = pgPromise({});
console.log(pgp);
然后执行--experimental-modules
node --experimental-modules index.mjs
更多细节https://blog.logrocket.com/es-modules-in-node-js-12-from-experimental-to-release/
推荐阅读
- php - 从 WP 中的“添加媒体”中隐藏特定元素
- json - 使用 Django Restframework 获取 JSON 和 XML 响应
- django - Initializing drf Serializer
- python - 如何同时运行 2 个脚本 python?
- javascript - Javascript:尝试将多个通配符 id 拉入循环
- java - Android - 如何在不损失图像质量的情况下将位图图像从一个活动传递到另一个活动
- .net - 使用 NodaTime 解析包含 BST 和 GMT 的日期和时间字符串
- java - aD 输出的原因
- c++ - 如果用户输入 0 或更少,如何同时显示输出和结束程序
- php - 列出工资覆盖日期 PHP