v8で.jsスクリプトファイル内に別のスクリプトファイルを含めるにはどうすればよいですか?
<スクリプト>タグがHTMLにありますが、どのようにしてv8組み込みプログラム内で実行できますか?あなたは手動でこの機能を追加する必要がGoogleのv8に別のjsファイルを含めるにはどうすればよいですか?
12
A
答えて
22
は、ここで私はそれをやった方法です:
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));
それは基本的には現在のコンテキスト内のJavaScriptファイルをロードして実行することができますグローバルにアクセス可能な機能を追加します。私は自分のプロジェクトでそれを使用し、夢のように動作します。
// beginning of main javascript file
include("otherlib.js");
3
Node.jsまたはCommonsJS準拠のランタイムを使用している場合は、require(module)を使用できます。 それについて素敵な記事がありますhttp://jherdman.ca/2010-04-05/understanding-nodejs-require/
関連する問題
- 1. 別のjsファイルからjsファイルを含めるにはどうすればよいですか?
- 2. jsファイルにHTMLを含めるにはどうすればいいですか?
- 3. 1つのAGIファイルを別のAGIファイルに含めるにはどうすればよいですか?
- 4. MXMLファイルを別のMXMLファイルにインラインで含めるにはどうすればよいですか?
- 5. GoogleアナリティクススニペットをJavadocに含めるにはどうすればよいですか?
- 6. ES6でJSファイルを別のJSファイルにインポートするにはどうすればよいですか?
- 7. 別のphp.iniファイルにphp.iniファイルを含めるにはどうすればよいですか?
- 8. Rootsのビューにnode_moduleのJSファイルを含めるにはどうすればよいですか?
- 9. nodejsのviewsフォルダにビュー関連のjavascript(* .js)ファイルを含めるにはどうすればよいですか?
- 10. ASP.Net - 別のプロジェクトの埋め込みJavaScriptファイルを含めるにはどうすればよいですか?
- 11. air-consoleの.jsファイルと.cssファイルをunityプラグインに含めるにはどうすればいいですか?
- 12. 返されたオブジェクトを別のjavascriptファイルに含めるにはどうすればよいですか?
- 13. ソースディレクトリにファイルを含めるにはどうすればよいですか?
- 14. Rubyソースを別のファイルにインラインで含めるにはどうすればよいですか?
- 15. PHPに別のファイルを含めるにはどうすればよいですか?
- 16. Angular 2プロジェクトに外部.jsファイルを含めるにはどうすればよいですか?
- 17. 外部babel js(es 6)ファイルをhtmlファイルに含めるにはどうすればいいですか?
- 18. 別のフォルダのファイルを含めるにはどうすればよいですか?
- 19. ES6インポートでFoundation 6のJSファイルを含めるにはどうすればいいですか?
- 20. プロジェクトに新しいファイルjsを含めるにはどうすればいいですか?
- 21. DrSchemeにファイルを含めるにはどうすればいいですか?
- 22. nginx.confにjavascriptファイルを含めるにはどうすればいいですか?
- 23. .csprojファイルにDLLを含めるにはどうすればいいですか?
- 24. リモートデバッグ用にGoogleのv8 javascriptスタンドアロンエンジンを設定するにはどうすればよいですか?
- 25. GoogleのGCSパッケージを自分のコードに簡単に含めるにはどうすればよいですか?
- 26. 別のベースコントローラから継承するコントローラにスワッガードキュメントを含めるにはどうすればよいですか?
- 27. Meteor AppにローカルJSファイルを含めるにはどうすればいいですか?
- 28. Google CloudのJSONプロジェクトのキーファイルをGoogle Cloud機能に含めるにはどうすればいいですか?
- 29. 1つのJSファイルから別のjsのviewModelsおよびメインjsファイルに値を表示するにはどうすればよいですか?
- 30. テンプレートを使用するクラスに別のクラスを含めるにはどうすればよいですか?
ありがとうありがとうございました:) –
この回答が投稿されて以来、V8が更新されたようです。 'Set'の呼び出しでFunctiontemplate - > GetFunction()アクセサが必要になりました。 FunctionTemplate :: New(Include) - > GetFunction() –
今日の最新v8(12月17,2013)では、v8 :: Argumentは存在しなくなりました(v8 :: internal :: Argument thou)。関数の宣言のv8 :: Argument&は、v8 :: FunctionCallbackInfo&に変更する必要があります。 –
yoshi