如何在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(); 
Interesting Posts