是否可以在Vert.x中使用Javascript库?

时间:2018-08-02 17:40:27

标签: javascript node.js vert.x

为了开发一种算法,我使用了TurfJs库来避免自己做一些计算,因此我被要求将该算法集成到我是新用户的Eclipse Vert.x服务器上。 / p>

因此,我尝试像往常一样直接将其导入:var turf = require("@turf/turf");

,当我使用以下命令执行./node_modules/.bin/vertx run server.js时,出现此错误:

    Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 2762 ms, time limit is 2000
javax.script.ScriptException: TypeError: Cannot redefine property "name" of function IndexOutOfBoundsException (message) {
    Error.call(this);
    this.message = message || '';
  } in node_modules/@turf/turf/turf.js at line number 26251

如果需要,这里是server.js代码:

var Router = require("vertx-web-js/router");
var turf = require("@turf/turf");


var server = vertx.createHttpServer();

var router = Router.router(vertx);

router.get("/").handler(function (ctx) {
  var response = ctx.response();

  response.putHeader("content-type", "application/json; charset=utf-8");

  response.end("[\"foo\",\"bar\"]");
});

server.requestHandler(router.accept).listen(8080);

注意:此处我尚未使用草皮,因为仅导入草皮会导致上述问题。

请帮助,是否可以在Vert.x中使用Javascript / nodejs库?

1 个答案:

答案 0 :(得分:0)

因此,我回答了我的问题,经过大量搜索,我最后发现问题是TurfJs,根据此{{3},该问题已从turf降为@turf/turf }

所以我尝试使用turf而不是@turf/turf,即使它显示以下消息,它也可以工作:

Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 2627 ms, time limit is 2000
Succeeded in deploying verticle