首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C#/Javascript.net/V8上运行Less.js

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

Stack Overflow用户
提问于 2010-07-15 00:01:20
回答 3查看 2.4K关注 0票数 4

我正在尝试在C#应用程序中运行less.js。我尝试使用JavaScript.net运行默认的发行版,但是我得到了window is undefined错误。我认为这是因为它不是在浏览器中运行,而是在JS引擎上运行。是否有任何变通方法/任何指向可提供帮助的资源的指针?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-20 10:30:30

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

票数 8
EN

Stack Overflow用户

发布于 2010-07-17 00:10:19

这更多的是一个猜测,而不是一个真实的答案,但我会尽力帮助你,所以如果是错的,请不要投反对票。但根据文档(我从未使用过Javascript.net),以下内容是有效的:

代码语言:javascript
复制
// 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
复制
context.SetParameter("window", new YourWindow());

并确保您提供的窗口具有与标准浏览器窗口相同的属性/方法等。

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

票数 0
EN

Stack Overflow用户

发布于 2010-07-19 19:33:36

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3248098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档