2016-04-07 17 views
1

Espasino (gömülü bir platform) için Javascript'te kod yazıyorum ve bir kısıtlama var: Cihaza sadece bir dosya kaydedilebiliyor. Aşağıdaki kodu içinİki javascript dosyası nasıl el ile dağıtılır?

çalışmak:

var x = new require("Something"); 
x.hello() 

Something modül main.js dosyadan erişilebilir olmalıdır. Something modül ayrı bir dosyadır ve şöyle görünür:

function Something() { 
    .... 
} 

Something.prototype.hello = function() { 
    console.log("Hello there!"); 
} 

exports = Something; 

Soru olduğu; Bu iki dosyayı nasıl birleştirebilirim ve hala Something modülünü require("Something"); biçiminde kullanabilir miyim?

cevap

0

Modül dosyalarını bir dosyada toplamak için neden webpack kullanmıyorsunuz? Senin geçerli dizin İlk olarak nodejs yüklemek proje dizini

  • olduğunu varsayalım:

https://nodejs.org/en/download/ veya sudo apt-get install nodejs

  • İkinci yüklemek bu komutu kullanarak web paketi

npm i -g webpack

  • sizin demeti bu komutu çalıştırmak oluşturmak için Modülünüzü

paket:

WebPack ./main.js paket. js

  • Not: bundle.js cevap Espruino forumlarda bulunursa
+0

Web paketi kullanamıyorum çünkü bu bir web uygulaması değil. Ayrıca şanssız bir şekilde tarayıcıyı denedim. – ceremcem

1

Eğer main.js gerekli tüm modül dosyaları içerir:

# create bundle 
BUNDLE="init.min.js" 
echo "" > ${BUNDLE} 

# Register modules via `Modules.addCached()` method 
# see: http://forum.espruino.com/comments/12899741/ 
MODULE_NAME="FlashEEPROM" 
MODULE_STR=$(uglifyjs -c -m -- ${MODULE_NAME}.js | sed 's/\"/\\\"/g' | sed "s/\n//g") 
echo "Modules.addCached(\"${MODULE_NAME}\", \"${MODULE_STR}\");" >> ${BUNDLE} 
uglifyjs -c -m -- init.js >> ${BUNDLE} 
İlgili konular