2015-06-26 13 views
20

Làm cách nào để tích hợp thư viện nodejs vào dự án không phải nút của tôi? Tôi đặc biệt cần thư viện này: https://github.com/greenify/biojs-io-blastThư viện Nodejs không có nodejs

+1

Điều này thực sự phụ thuộc vào có hay không gói hỗ trợ chạy trong trình duyệt. Nếu có thì bạn sẽ làm tương tự 'npm install packagename' và sau đó biên dịch nó với browserify để lấy một tập tin duy nhất. – t3dodson

+0

hãy xem qua trình duyệt số – Markasoftware

+0

hoặc nếu bạn đang sử dụng webpack làm môi trường xây dựng/dev thì bạn có thể kéo mặc dù tất cả các loại bánh kẹo npm ... –

Trả lời

22

BioJS sử dụng Browserify CDN để tự động tạo một tệp JS để sử dụng. Hoặc bao gồm

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

trong html của bạn hoặc tải về các tập tin JS qua liên kết này.

Chúng tôi cũng có một ví dụ về JS Bin trực tiếp here.

+0

Cảm ơn! Nhưng ví dụ không hoàn toàn hoạt động ..."blast object" null –

+0

Tôi đã cố gắng tải xuống "độc lập" của bạn và tải trên tệp xml vụ nổ cục bộ, nhưng nó trả về giá trị rỗng. –

+1

Tôi đã cập nhật liên kết JS Bin. Nó sẽ hoạt động ngay bây giờ. Cảm ơn vì đã phát hiện :) –

0

để tích hợp bất kỳ thư viện nút bạn sử dụng gói quản lý NPM https://www.npmjs.com/ như vậy để tích hợp thư viện của bạn làm như sau

  1. mở terminal
  2. cd path/to/your loại/project_dir
  3. dòng này

    NPM cài đặt biojs-io-blast

+0

Cảm ơn bạn đã đăng câu trả lời cho câu hỏi này! Câu trả lời này rất ngắn và không cung cấp nhiều ngữ cảnh. Xin giải thích một số lý do đằng sau nó, và nó sẽ trở nên hữu ích hơn nhiều cho người hỏi và độc giả trong tương lai. Cảm ơn! –

0

Đây là trường hợp sử dụng phổ biến hơn. Một số libraby của node.js, tôi thích chúng quá nhiều, tôi muốn sử dụng nó ở mọi nơi. Nhưng thư viện này, những gì tôi thấy sử dụng các mô-đun lõi của node.js như fs. Tôi không nghĩ rằng bạn có thể sử dụng nó mà không phụ thuộc vào nút || nhị phân nút. Nhưng dưới dạng Mã duy nhất hoặc những người khác nói, nếu bạn đang sử dụng webpack làm công cụ xây dựng/dev. Bạn có thể thử, browserifyorBioJS

0

Nút_module được cung cấp là loại trình phân tích cú pháp xml. Bạn không thể thêm thư viện nodejs (node_module) vào các chương trình non nodejs. Bạn có thể nhận xml parser cho Blast tùy thuộc vào loại ngôn ngữ lập trình bạn đang sử dụng.

Ví dụ: Đối với PHP phpBlastXmlParser và Đối với java this might helpfull

0

Vâng, bạn có thể làm điều đó bằng cách sử dụng Publisher/Theo dõi mô hình và thư viện Queue, chẳng hạn như RabbitMQ.

Trong ví dụ bên dưới, tác giả đang giao tiếp tập lệnh python với một tập lệnh NodeJS, sử dụng ứng dụng khách RabbitMQ cho mỗi nền tảng.

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

Mã cho gửi từ 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); 
}); 

Sau đó, nhận được trong 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()