svelte - 如何从模块上下文运行数据库查询
问题描述
我想database query
从context module
.
我想这样做的原因是能够在不向最终用户显示实际原始数据的情况下呈现页面。
当我使用node-fetch
或SvelteKit Fetch
JSON 数据显示给最终用户时。
node-fetch
通过那个电话制作fetch request
并JSON
暴露出来。API
Sveltekit Fetch
不会进行额外API
的调用,而是将原始数据插入到实际呈现的HTML
页面中。
所以我认为最好发送query
from context module
。我如何database
拨打电话context module
?
这是我的代码:
<script context="module">
import pool from '$lib/db.js';
export async function load() {
const objects = await pool.query('SELECT * FROM items')
return {
props: { objects }
}
}
</script>
错误:
500
The requested module '/node_modules/pg/lib/index.js' does not provide an export named 'Pool'
SyntaxError: The requested module '/node_modules/pg/lib/index.js' does not provide an export named 'Pool'
内部db.js
:
import { Pool } from 'pg';
const pool = new Pool({
user: "testuser",
password: "1234567",
database: "test",
host: "localhost",
port: "5432"
});
export default pool;
解决方案
node-postgres
pg
您尝试导入的库已转译。这意味着您不能像现在这样使用命名导入。
尝试改变:
import { Pool } from 'pg';
和:
import * as pg from 'pg';
const { Pool } = pg;
推荐阅读
- java - Java invoke class to call method inside
- javascript - 将对象的数组属性作为 React 组件 prop 传递会引发异常
- css - css 过渡不适用于渐变?
- javascript - 在 node.js 的命令行中传递参数
- angular - ASP.NET Webapi 中 HTTP 的 Cors 错误,但不是 HTTPS
- sql - T-SQL 在合并中选择所有要更新的 col
- nlp - 从 nlp 中的给定单词生成语句
- css - 原始 css 中的 3d 几何混淆
- .net-core - 在 Amazon SQS 传输上发布的 NServiceBus 路由器事件不由 Azure 服务总线传输端点处理
- php - 运行sails artisan migrate 出错