如何在React中使用Typed包?

时间:2019-12-10 20:41:41

标签: javascript node.js reactjs db2

我想将idm_db包与Typescript和React一起使用。 在其文档中,仅说明nodejs,也不支持类型。 幸运的是,这里有@types/ibm_db,我认为它支持类型,但是我不知道该如何使用。

在nodejs中,

var ibmdb = require('ibm_db');

ibmdb.open("DATABASE=<dbname>;HOSTNAME=<myhost>;UID=db2user;PWD=password;PORT=<dbport>;PROTOCOL=TCPIP", function (err,conn) {
  if (err) return console.log(err);

  conn.query('select 1 from sysibm.sysdummy1', function (err, data) {
    if (err) console.log(err);
    else console.log(data);

    conn.close(function () {
      console.log('done');
    });
  });
});

node ibm_db

在此之后,我只是更改了第一行, 从var ibmdb = require('ibm_db');import * asibmdb from 'ibm_db'。 但是,它总是抛出与webpack相关的错误(我现在不使用webpack)。它可以编译,但是页面显示错误消息。

所以,我的问题是,我该如何以React和Typescript方式使用此软件包? 预先感谢!

编辑 它引发了很多错误,我正在发布可能会导致的错误。

  28 |                      path.resolve(__dirname, '../installer/clidriver/lib');
  29 | }
  30 | 
> 31 | var odbc = require("bindings")("odbc_bindings")
  32 |   , SimpleQueue = require("./simple-queue")
  33 |   , util = require("util")
  34 |   , Readable = require('stream').Readable
199 |   // Avoids an infinite loop in rare cases, like the REPL
  200 |   dir = process.cwd();
  201 | }
> 202 | if (
      | ^  203 |   exists(join(dir, 'package.json')) ||
  204 |   exists(join(dir, 'node_modules'))
  205 | ) {
  147 |         );
  148 |         hotCurrentParents = [];
  149 |     }
> 150 |     return __webpack_require__(request);
      | ^  151 | };
  152 | var ObjectFactory = function ObjectFactory(name) {
  153 |     return {

1 个答案:

答案 0 :(得分:0)

对于这样的事情,我可能会使用

import * as ibmdb from 'ibm_db';

有帮助吗?一些参考:https://stackoverflow.com/a/43172907/8678978

当我在React中使用moment包和打字稿时遇到同样的问题