2015-06-26 21 views
20

Come posso integrare una libreria nodejs nel mio progetto non nodejs? Sono particolarmente bisogno di questo libreria: https://github.com/greenify/biojs-io-blastLibreria Nodejs senza nodejs

+1

Questo in realtà dipende o meno il pacchetto supporta l'esecuzione in un browser. Se lo fa, faresti lo stesso 'npm install packagename' e poi lo compilerai con browserify per ottenere un singolo file. – t3dodson

+0

dai un'occhiata a browserify – Markasoftware

+0

o se stai usando webpack come ambiente build/dev, allora puoi usare tutti i tipi di gadget npm .... –

risposta

22

BioJS utilizza Browserify CDN per generare automaticamente un singolo file JS per l'uso. O includono

<script src="http://wzrd.in/bundle/[email protected]"></script>

nel tuo html o scaricare il file JS tramite questo link.

Abbiamo anche un esempio di JS Bin dal vivo here.

+0

Grazie! Ma l'esempio non funziona del tutto ..."blast object" null –

+0

Ho provato a scaricare il tuo "standalone" e caricare su un file xml blast locale, ma restituisce nulla. –

+1

Ho aggiornato il collegamento del JS Bin. Dovrebbe funzionare ora. Grazie per l'individuazione :) –

0

per integrare qualsiasi libreria nodo si usa il gestore di pacchetti NPM https://www.npmjs.com/ in modo da integrare la libreria non come seguire

  1. terminale aperto
  2. cd path/to/la vostra/project_dir
  3. tipo questa linea

    NPM installare biojs-io-blast

+0

Grazie per aver postato una risposta a questa domanda! Questa risposta è molto breve e non fornisce molto contesto. Per favore spiega alcuni ragionamenti che stanno dietro e diventerà molto più utile per il richiedente e per i futuri lettori. Grazie! –

0

Questo è il caso d'uso più comune. Alcune delle libraby node.js, mi piacciono troppo e voglio usarle ovunque. Ma questa libreria, quello che vedo utilizza i moduli principali di node.js come fs. Non penso che tu possa usarlo senza dipendenza dai nodi || nodo binario. Ma come Code Uniquely o altri dicono, se si utilizza webpack come build/dev. Puoi provare, browserifyorBioJS

0

Il node_module fornito è un tipo di parser xml. Non è possibile aggiungere la libreria nodejs (node_module) ai programmi non nodejs. È possibile ottenere un parser xml per Blast a seconda del tipo di linguaggio di programmazione che si sta utilizzando.

Ad esempio: Per PHP phpBlastXmlParser e per Java this might helpfull

0

Sì, è possibile farlo utilizzando un server di pubblicazione/sottoscrizione modello e una biblioteca coda, come ad esempio RabbitMQ.

Nell'esempio seguente, l'autore sta comunicando uno script python con uno NodeJS, utilizzando i client RabbitMQ per ciascuna piattaforma.

https://github.com/osharim/Communicate-Python-with-NodeJS-through-RabbitMQ

Il codice per l'invio da 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); 
}); 

Poi, ricevendo in pitone:

#!/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()