首页 > 解决方案 > 是否可以在 Vert.x 中使用 Javascript 库?

问题描述

为了开发一种算法,我使用TurfJs库来避免自己进行一些计算,并且我被要求将算法集成到Eclipse Vert.x我是新手的服务器中。

所以我尝试像往常一样直接导入它: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 库?

标签: javascriptnode.jsvert.x

解决方案


所以我正在回答我的问题,经过大量搜索后,我结束了根据此链接TurfJs不推荐使用的问题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

推荐阅读