如何在C#中使用Jint加载JavaScript文件?
我想使用Jint加载一个JavaScript文件,但我似乎无法搞清楚。 文档说我可以做一些像engine.run(file1)
,但它似乎没有加载任何文件。 我是否需要对文件名做些特别的事情?
这是我的JavaScript文件:
// test.js status = "test";
这是我的C#
JintEngine js = new JintEngine(); js.Run("test.js"); object result = js.Run("return status;"); Console.WriteLine(result); Console.ReadKey();
如果我在Run
中手动输入代码就行了。
object result = js.Run("return 2 * 21;"); // prints 42
我通过自己手动将文件加载到文本中找到了一种解决方法,而不是按照此处提到的名称加载它: http : //jint.codeplex.com/discussions/265939
StreamReader streamReader = new StreamReader("test.js"); string script = streamReader.ReadToEnd(); streamReader.Close(); JintEngine js = new JintEngine(); js.Run(script); object result = js.Run("return status;"); Console.WriteLine(result); Console.ReadKey();
我个人使用:
js.Run(new StreamReader("test.js"));
紧凑,只是工作。
尝试
using(FileStream fs = new FileStream("test.js", FileMode.Open)) { JintEngine js = JintEngine.Load(fs); object result = js.Run("return status;"); Console.WriteLine(result); }
更简洁(使用您的代码)
JintEngine js = new JintEngine(); string jstr = System.IO.File.ReadAllText(test.js); js.Run(jstr); object result = js.Run("return status;"); Console.WriteLine(result); Console.ReadKey();