nasıl v8 bir .js komut dosyası içinde başka bir komut dosyası içerir mi?
Orada HTML <senaryo> etiketi ama nasıl bir v8 gömülü programı içinde yapılabilir?nasıl Google'ın v8 başka js dosyasını dahil mi?
12
A
cevap
22
Burada nasıl yaptığımı olduğunu elle bu işlevselliği eklemek zorunda:
Handle<Value> Include(const Arguments& args) {
for (int i = 0; i < args.Length(); i++) {
String::Utf8Value str(args[i]);
// load_file loads the file with this name into a string,
// I imagine you can write a function to do this :)
std::string js_file = load_file(*str);
if(js_file.length() > 0) {
Handle<String> source = String::New(js_file.c_str());
Handle<Script> script = Script::Compile(source);
return script->Run();
}
}
return Undefined();
}
Handle<ObjectTemplate> global = ObjectTemplate::New();
global->Set(String::New("include"), FunctionTemplate::New(Include));
Temelde yük ve akım bağlamında bir javascript dosyası çalıştırabilirsiniz küresel erişilebilir işlevi ekler. Onu projemle kullanıyorum, rüya gibi çalışıyor.
// beginning of main javascript file
include("otherlib.js");
3
Node.js veya herhangi bir CommonsJS uyumlu çalışma zamanı kullanıyorsanız, gereksinim (modül) kullanabilirsiniz; http://jherdman.ca/2010-04-05/understanding-nodejs-require/
İlgili konular
- 1. "Merhaba Dünya" + JS V8 + VS2010
- 2. DOM API'yi v8'e nasıl dahil edebilir veya uygulayabilirsiniz?
- 3. Başka bir `.scss` dosyasında` .scss` dosyasını dahil et?
- 4. V8 ayrıştırma ağacına nasıl erişirim?
- 5. nginX'te js dosyasını nasıl çözebilirim?
- 6. v8 vekil ReferenceError
- 7. Başka bir DTD'de DTD dahil
- 8. JS dahil bir JSoup Belgesi nasıl oluşturulur?
- 9. jquery.js başka bir js dosyasında nasıl eklenir?
- 10. .cpp dosyası dahil mi?
- 11. Can .js dosyası "include" başka bir .js dosyası
- 12. V8'i bir iş parçacığında nasıl kullanırım?
- 13. System.JS'deki /[module]/[module].js dosyasını nasıl değiştirebilirim?
- 14. Dış JS dosyasını moodle'a nasıl yükleyebilirim?
- 15. JavaScript dosyasını nasıl takip edelim başka bir web sitesi tarafından sağlanmıştır veya dahil değildir
- 16. v8'de REAL global nesne nasıl oluşturulur?
- 17. web.config dosyasını başka bir derlemeden okuyun t4
- 18. yukarıdaki klasördeki .php dosyasını dahil et
- 19. V8'de JavaScript geri çağırma nesnesine nasıl geçilir
- 20. Son yürütülebilir dosyaya dahil edilmeyen yöntemler dahil mi?
- 21. V8'de işlev çağrısı optimizasyonu
- 22. JavaScript normal ifadesinde Arapça karakterler dahil mi?
- 23. HTML dosyalarına LaTeX formülleri dahil mi?
- 24. Twig'i birden fazla diziyle mi dahil ediyorsunuz?
- 25. UIDatePicker'in tarihini başka bir tarihe nasıl ayarlayabilirim? dahil
- 26. Tanımsız başvuruyu v8 hatasına nasıl düzeltebilirim?
- 27. Ruby: Nasıl dahil/install .bundle?
- 28. Birden çok JS dosyasını yönetmenin kolay yolu?
- 29. D3.js yerel veri dosyasını dosyadan yükleniyor: ///
- 30. .NET 2.0, .NET 3.5 yükleyicisine dahil mi?
Hakkında güzel bir makale var Teşekkür ederim :) –
Bu yanıt gönderildiği günden beri V8'in güncellendiği anlaşılıyor. Artık Functiontemplate en ihtiyaç - 'Set' çağrısında> GetFunction() erişimci: ör FunctionTemplate :: Yeni (Dahil) -> GetFunction() –
En son v8 ile bugün (Aralık 17,2013), v8 :: Argüman artık yok (v8 :: internal :: Argüman var). Yani v8 :: Argüman & fonksiyon arg bildirimi v8 :: FunctionCallbackInfo & olarak değiştirilmelidir. –
yoshi