2015-06-26 13 views
20

Wie kann ich eine Nodejs-Bibliothek in mein Nicht-Nodejs-Projekt integrieren? Ich brauche die besonders diese Bibliothek: https://github.com/greenify/biojs-io-blastNodejs-Bibliothek ohne Nodejs

+1

Das hängt wirklich davon ab, ob das Paket in einem Browser unterstützt die Ausführung. Wenn dies der Fall ist, würden Sie den gleichen 'npm install packagename' machen und ihn dann mit browserify kompilieren, um eine einzige Datei zu erhalten. – t3dodson

+0

werfen Sie einen Blick auf browserify – Markasoftware

+0

oder wenn Sie Webpack als Build/dev-Umgebung verwenden, dann können Sie alle Arten von Npm Goodies ziehen .... –

Antwort

22

BioJS verwendet Browserify CDN, um automatisch eine einzelne JS-Datei für die Nutzung zu generieren. Entweder sind

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

in Ihrem HTML oder die JS-Datei über diesen Link herunterladen.

Wir haben auch ein Live-JS-Bin Beispiel here.

+0

Vielen Dank! Aber das Beispiel funktioniert nicht ganz ..."blast object" null –

+0

Ich habe versucht, Ihr "Standalone" herunterzuladen und auf eine lokale Blast-XML-Datei zu laden, aber es gibt null zurück. –

+1

Ich habe den JS Bin-Link aktualisiert. Es sollte jetzt funktionieren. Danke für die Entdeckung :) –

0

beliebigen Knoten Bibliothek Sie den Paket-Manager NPM https://www.npmjs.com/ so verwenden, um die Integration Ihrer Bibliothek zu integrieren Sie als

  • cd path/to/your/project_dir
  • Art diese Linie

    1. offenen Terminal folgen

      npm biojs-io-blast installieren

  • +0

    Danke für das Posten einer Antwort auf diese Frage! Diese Antwort ist jedoch sehr kurz und bietet wenig Kontext. Bitte erläutern Sie einige der Gründe dahinter, und es wird viel nützlicher für die Fragesteller und zukünftige Leser werden. Vielen Dank! –

    0

    Dies ist der häufigere Anwendungsfall. Einige der node.js libraby, ich mag sie zu sehr, ich möchte es überall verwenden. Aber diese Bibliothek, was ich sehe, verwendet Kernmodule von node.js wie fs. Ich denke nicht, dass Sie es ohne Knotenabhängigkeit verwenden können || Knoten binär. Aber als Code Uniqueely oder andere Leute sagt, wenn Sie Webpack als Build/Dev verwenden. Sie können versuchen, browserifyorBioJS

    0

    Die node_module, die zur Verfügung gestellt wird, ist Art von XML-Parser. Sie können die nodejs-Bibliothek (node_module) nicht zu Nodejs-Programmen hinzufügen. Sie können den XML-Parser für Blast abhängig von der Art der Programmiersprache, die Sie verwenden, erhalten.

    Zum Beispiel: Für PHP phpBlastXmlParser und für Java this might helpfull

    0

    Ja, Sie können es tun, einen Verlag mit/Subscribe-Muster und eine Queue-Bibliothek, wie RabbitMQ.

    Im folgenden Beispiel kommuniziert der Autor ein Python-Skript mit einem NodeJS-Skript, wobei die RabbitMQ-Clients für jede Plattform verwendet werden.

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

    Der Code für von NodeJS Senden:

    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); 
    }); 
    

    Dann in Python Empfang:

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