我想将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');
});
});
});
在此之后,我只是更改了第一行,
从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 {
答案 0 :(得分:0)
对于这样的事情,我可能会使用
import * as ibmdb from 'ibm_db';
有帮助吗?一些参考:https://stackoverflow.com/a/43172907/8678978
当我在React中使用moment
包和打字稿时遇到同样的问题