我正在尝试在C#应用程序中运行less.js。我尝试使用JavaScript.net运行默认的发行版,但是我得到了window is undefined错误。我认为这是因为它不是在浏览器中运行,而是在JS引擎上运行。是否有任何变通方法/任何指向可提供帮助的资源的指针?
发布于 2010-07-20 10:30:30
您可能应该改为运行.Less。如果我理解正确的话,您正试图通过Javascript解释器在服务器上运行less.js。为什么不跳过解释器,使用所有.NET代码运行更少的转换呢?更少的痛苦和开销。
发布于 2010-07-17 00:10:19
这更多的是一个猜测,而不是一个真实的答案,但我会尽力帮助你,所以如果是错的,请不要投反对票。但根据文档(我从未使用过Javascript.net),以下内容是有效的:
// Initialize the context
JavascriptContext context = new JavascriptContext();
// Setting the externals parameters of the context
context.SetParameter("console", new SystemConsole());
context.SetParameter("message", "Hello World !");
context.SetParameter("number", 1);
// Running the script
context.Run("var i; for (i = 0; i < 5; i++) console.Print(message + ' (' + i + ')'); number += i;");
// Getting a parameter
Console.WriteLine("number: " + context.GetParameter("number"));也许您应该将窗口设置为上下文的参数,如下所示:
context.SetParameter("window", new YourWindow());并确保您提供的窗口具有与标准浏览器窗口相同的属性/方法等。
and 你可以尝试实现一个简单的窗口,只要某个函数被调用,它就会写入控制台。除非有原因,否则Javascript.Net会给你一个窗口封装器(虽然看起来不像)
发布于 2010-07-19 19:33:36
Less.js表明它打算在Node.js下运行。因为听起来你正在写一个.NET应用程序,为什么不看看Node.net是否能帮到你呢?
https://stackoverflow.com/questions/3248098
复制相似问题