Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#/Javascript.net/V8上运行Less.js_Javascript_C#_V8_Javascript.net - Fatal编程技术网

在C#/Javascript.net/V8上运行Less.js

在C#/Javascript.net/V8上运行Less.js,javascript,c#,v8,javascript.net,Javascript,C#,V8,Javascript.net,我正在尝试在C#应用程序中运行。我尝试使用运行默认发行版,但发现窗口未定义错误。我认为这是因为它不是在浏览器中运行的,而是在JS引擎上运行的。是否有任何解决方法/指向资源的指针可以提供帮助?这与其说是真实答案,不如说是猜测,但我会尽力提供帮助,所以如果答案错误,请不要投反对票。但根据文档(我从未使用过Javascript.net),以下内容是有效的: // Initialize the context JavascriptContext context = new JavascriptConte

我正在尝试在C#应用程序中运行。我尝试使用运行默认发行版,但发现窗口未定义错误。我认为这是因为它不是在浏览器中运行的,而是在JS引擎上运行的。是否有任何解决方法/指向资源的指针可以提供帮助?

这与其说是真实答案,不如说是猜测,但我会尽力提供帮助,所以如果答案错误,请不要投反对票。但根据文档(我从未使用过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"));
并确保您提供的窗口具有与标准浏览器窗口相同的属性/方法等

添加
您可以尝试实现一个简单的窗口,只要在控制台上调用某个函数,该窗口就会写入控制台。除非有原因,否则Javascript.Net会给您一个窗口包装器(虽然看起来不像)

Less.js表示它打算在Node.js下运行。因为听起来你在写一个.NET应用程序,为什么不看看它是否对你有帮助呢?

你可能应该改为运行。如果我理解正确,您正试图通过Javascript解释器在服务器上运行less.js。为什么不跳过解释器,使用所有.NET代码运行更少的转换呢?减少了痛苦和开销。

IIRC,less.js是一个允许您在样式表中使用不同语法的模块。如果您没有页面样式…?我正在尝试通过编程将较少的文件转换为css。如果答案不符合要求,请接受或评论。less.js(查看源代码)应该允许您传入未定义的窗口引用,您能告诉我们未定义的窗口发生在哪一行吗?我同意,现在less是1.5.0测试版,dotless仍然是1.3.1,这真的很糟糕,因为像bootstrap这样的框架不能被添加和编译,因为它们使用了新的less特性,dotless解析器失败了……dotless有缺陷,它实际上是一个废弃的项目,已经一年多没有更新了。如果我得到一个更好的答案,我会添加一个更好的答案。。。
context.SetParameter("window", new YourWindow());