代码之家  ›  专栏  ›  技术社区  ›  Dogbert

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

  •  4
  • Dogbert  · 技术社区  · 14 年前

    我想逃跑 less.js 在C应用程序中。我试着用 JavaScript.net 但我得到的窗口是未定义的错误。我认为这是因为它不是在浏览器中运行,而是在JS引擎上运行。是否有任何解决方法/指向资源的指针可以提供帮助?

    3 回复  |  直到 7 年前
        1
  •  8
  •   Jakub Å turc    13 年前

    你应该快跑 .Less

        2
  •  0
  •   Lasse Espeholt    14 年前

    这是一个猜测,而不是一个真正的答案,但我会尽力帮助,所以请不要投反对票,如果它是错误的。但根据文档(我从未使用过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());
    

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

        3
  •  0
  •   dgw CyberDem0n    14 年前