我怎样才能整合一个 的NodeJS </跨度> 图书馆进入我的非 的NodeJS </跨度> 项目?我特别需要这个库:https://github.com/greenify/biojs-io-blast 鈥
是的,您可以使用Publisher / Subscribe模式和Queue库(如RabbitMQ)来实现。
在下面的示例中,作者使用每个平台的RabbitMQ客户端与一个NodeJS通信python脚本。
https://github.com/osharim/Communicate-Python-with-NodeJS-through-RabbitMQ
从NodeJS发送的代码:
var amqp = require('amqp'); var amqp_hacks = require('./amqp-hacks'); var connection = amqp.createConnection({ host: "localhost", port: 5672 }); connection.on('ready', function(){ connection.publish('task_queue', 'Hello World!'); console.log(" [x] Sent from nodeJS 'Hello World!'"); amqp_hacks.safeEndConnection(connection); });
然后,在python中接收:
#!/usr/bin/env python import pika import time connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost')) channel = connection.channel() channel.queue_declare(queue='task_queue', durable=True) #our callback def suscriber(ch,method , properties , body): print "[Y] received %r " % (body,) time.sleep( body.count('.') ) print " [x] Done" ch.basic_ack(delivery_tag = method.delivery_tag) channel.basic_qos(prefetch_count=1) channel.basic_consume(suscriber, queue = 'task_queue') print ' [*] Waiting for messages from Python. To exit press CTRL+C' channel.start_consuming()
这是更常见的用例。一些node.js libraby,我非常喜欢它们,我想在任何地方使用它。但是我看到的这个库使用了node.js的核心模块 fs 。我不认为你可以使用它没有节点依赖||节点二进制。但是作为 代码唯一 或者其他人说,如果你使用webpack作为build / dev。你可以试试, browserify or BioJS
fs
or
要集成您使用包管理器NPM的任何节点库 https://www.npmjs.com/ 所以要整合你的库,请按以下步骤操作
npm安装biojs-io-blast
提供的node_module是一种xml解析器。您不能将nodejs库(node_module)添加到非nodejs程序。您可以根据您使用的编程语言类型获取Blast的xml解析器。
例如 : 对于PHP phpBlastXmlParser 和 对于java 这可能有帮助