2010-08-26 28 views
7

Bir JS uygulamasını ve NodeJS yorumlayıcısını dağıtım için tek bir yürütülebilir dosyaya derlemek mümkün müdür?Bir JS uygulaması + NodeJS yorumlayıcısını tek bir uygulamayla derlemek mümkün mü?

+0

kontrol dışarı bağlıdır nasıl: http://www.appcelerator.com/ JS, HTML ve CSS kullanarak yürütülebilir geliştirmek istiyorum. – BGerrissen

+0

Teşekkürler @BGerrissen, ama aslında bir istemcinin sunucularına dağıtmak için "güvenli bir şekilde" dağıtmak istediğim bir sunucu tarafı node.js uygulaması. –

+0

Nodejs takımının henüz çok uzak olduğunu düşünmeyin. Etrafa bakmak ve çok sayıda manuel yapılandırma görmek. Tüm düğümler yüklemek ve daha sonra git veya whatnot kullanarak kod dağıtımı içerir. – BGerrissen

cevap

1

JS uygulaması ve NodeJS yorumlayıcısını dağıtım için tek bir yürütülebilir dosyaya derlemek mümkün mü?

Bu çok açık görünebilir, ancak işte benim de üstleneceğim.

Bir yükleyici içeren veya çevrimiçi js komut dosyalarını ve derlenmiş node.js. getirmesi mümkün olacaktır

Bir "dağıtımı için tek yürütülebilir" bir yükleyici gibi bir çok geliyor

... Sunucuyu başlatmak ve durdurmak için her şeyi açıp /etc/init.d/ dosyasında bir betik oluşturacaktır.

Tüm müşterileriniz aynı dağıtımda (örn. Debian) bulunuyorsa, uygun paketleme aracı (ör. Apt) için bir paket hazırlayıp paket aracının her şeyi ele almasını sağlarım.

İstemcilerin hepsi farklı dağıtımlara sahiptir, autopackage'a bakabilirsiniz.

6

olarak git ve piton ile linux kutusu, daha sonra çirkin bir çözüm gerek:

$ git clone git://github.com/ry/node.git 
$ cd node 
$ vim src/node.js # add your code to end before "process.loop();" 
$ ./configure 
$ make 
$ sudo make install 
$ node 
+1

Gerçekten çirkin. Src/node.js'de 'if (process.argv [1]) {... module.runMain()' kısmının üzerine yazmanız ve kodun yerine bir kök modül olarak yüklenmesi daha iyi olur. kelimesi kelimesine. Yine de test etmedim. – user123444555621

+0

fikri nodejs kaynak kodunu okumak için digitala kılavuzu oldu :) – Lauri

+0

İyi bir. Bunun için +1: D – user123444555621

1

hedef javascript yürütmek ise, bir doğuracağı basit C veya C++ sarıcı programı oluşturmak mümkün olabilir yorumlayıcı ve JS'nizi değerlendirin. Tek bir dosya istiyorsanız, js kaynağı bir dizge sabiti olarak eklenebilir.

Paketleyici programını derlediğinizde, statically link'u düğüm ve bağımlılık ağacının geri kalanı için de kullanabilirsiniz. Sistemdeki paylaşılan kitaplıklara bağlı olmak yerine, statik bağlantı, projenizin derlenmiş ikiliye bağlı yordamlarını kopyalayacaktır.

bu ortamınıza