Come si include un altro file di script all'interno di un file di script .js nella v8?
C'è il tag > di script > in HTML, ma come può essere fatto all'interno di un programma incorporato v8?Come si include un altro file js nella v8 di Google?
12
A
risposta
22
si deve aggiungere questa funzionalità manualmente, ecco come ho fatto:
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));
Si aggiunge fondamentalmente una funzione globalmente accessibile che può caricare ed eseguire un file JavaScript all'interno del contesto attuale. Lo uso con il mio progetto, funziona come un sogno.
// beginning of main javascript file
include("otherlib.js");
3
Se stai usando Node.js o qualsiasi CommonsJS runtime compatibile, è possibile utilizzare require (modulo); C'è un bell'articolo a proposito di http://jherdman.ca/2010-04-05/understanding-nodejs-require/
Problemi correlati
- 1. Can .js file "include" un altro file .js
- 2. "include" un file javascript ad un altro
- 3. Come includere il file js in un altro file js?
- 4. carica jQuery in un altro file js
- 5. "Hello World" + JS V8 + VS2010
- 6. Carica file js esterno in un altro file js
- 7. Google Javascript V8 - multithreading
- 8. Come dovrei includere un file js da un altro file js?
- 9. Come si ottiene l'Url Referer tramite un javascript include?
- 10. Come caricare un altro file html utilizzando JS
- 11. Incluso un file .js all'interno di un file .js
- 12. Come istanziare una classe javascript in un altro file js?
- 13. È importante indicare un tipo MIME quando si include un file JS?
- 14. Come caricare un file js nella dashboard dell'amministratore di Magento
- 15. Eliminazione di un file Google Drive utilizzando il client JS
- 16. Inserimento di file js nella cartella Viste
- 17. Errore di convalida del bundle quando si include l'SDK di Google+ nella mia app iOS
- 18. Perché non sempre utilizzare https quando si include un file js?
- 19. Come bloccare "V8?
- 20. GitHub include da un altro repository
- 21. Comprimi tutti i file .js con l'applicazione del compilatore di chiusura di Google in un file
- 22. Includi un altro file JSP
- 23. Organizzare e unire file JS, Google Closure?
- 24. Come si include TR1?
- 25. Come si esegue un file js usando gli script npm?
- 26. Come risolvere <form> che include il caricamento di file e altro input di testo, nella stessa pagina
- 27. importa meno file in un altro meno file ma non include il contenuto
- 28. Come si include un tag nella testa dell'app Meteor.js al caricamento iniziale della pagina?
- 29. regex Javascript si blocca (usando v8)
- 30. Come si può includere un altro file LiveScript in LiveScript?
Grazie mille :) –
Sembra che V8 sia stato aggiornato da quando è stata pubblicata questa risposta. Ora hai bisogno dell'accessorio Functiontemplate -> GetFunction() nella chiamata a 'Set': ad es. FunctionTemplate :: New (Include) -> GetFunction() –
Con l'ultima v8 di oggi (dic 17,2013), v8 :: Argument non esiste più (ha v8 :: internal :: Argument thou). Quindi v8 :: Argument & nella dichiarazione di funzione deve essere cambiato in v8 :: FunctionCallbackInfo &. –
yoshi