【问题标题】:How to do Import and Require together?如何同时进行 Import 和 Require?
【发布时间】:2021-09-18 02:00:02
【问题描述】:

Node v14,服务器后端需要 Observable 并连接到 PostgreSql。

  • 需要create Observableimport { Observable } from 'rxjs';
  • 必须将"type": "module" 添加到pakage.json 中否则Warning: To load an ES module, set "type": "module" in the package.json
  • 但它使require 不适用于 Postgre 连接。

index.js

import { Observable } from 'rxjs';
const observable = new Observable(
  subscriber => 
  {
    ...
  });

observable.subscribe({...});
console.log('just after subscribe');

要连接到PostgreSql

const pgp = require('pg-promise')();
const db = pgp({...});

现在收到ReferenceError: require is not defined

我怎样才能两者兼得?

【问题讨论】:

  • @vitaly-t 跟随样本import * as pgPromise from 'pg-promise'; const pgp = pgPromise({}); 得到 TypeError: pgPromise is not a function pgp 版本 10.11.0
  • 你需要正确配置你的 TS,正如那里解释的那样。
  • @vitaly-t 我安装了 TS npm install typescript -gnpm install,通过 cd node_modules\typescript 进入 typescript 文件夹,运行 tsc 得到了帮助屏幕。所以我做了tsc --inittsc --build tsconfig.jsonF5,同样的 pgPromise 不是函数。还缺少其他步骤吗?
  • @vitaly-t 在没有 TS 的情况下解决。还是谢谢你!

标签: node.js postgresql pg-promise


【解决方案1】:

经过大量研究和尝试,回到同一个位置,只需将require 替换为import。以上述为例,

原文:

const pgp = require('pg-promise')();
const db = pgp({...});

新:

import pgPromise from 'pg-promise';
const pgp = pgPromise({...});
const db = pgp({...});

【讨论】:

    猜你喜欢
    • 2020-10-27
    • 2018-08-02
    • 2016-10-05
    • 1970-01-01
    • 2017-07-04
    • 2021-05-07
    • 2018-03-22
    • 2014-02-14
    • 1970-01-01
    相关资源
    最近更新 更多