4

C# アプリケーションでless.jsを実行しようとしています。JavaScript.netを使用してデフォルトのディストリビューションを実行しようとしましたが、window is undefined エラーが発生します。これはブラウザではなくJSエンジンで実行されていることが原因だと思います。回避策や役立つリソースへのポインタはありますか?

4

3 に答える 3

8

おそらく、代わりに.Lessを実行する必要があります。私の理解が正しければ、Javascript インタープリターを介してサーバー上で less.js を実行しようとしています。インタープリターをスキップして、すべての .NET コードを使用して LESS 変換を実行しないのはなぜですか? 痛みとオーバーヘッドがはるかに少なくなります。

于 2010-07-20T02:30:30.050 に答える
0

これは本当の答えというよりも推測ですが、私は助けようとしますので、間違っている場合は反対票を投じないでください. しかし、ドキュメント (私は 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"));

おそらく、ウィンドウをコンテキスト ala へのパラメーターとして設定する必要があります。

context.SetParameter("window", new YourWindow());

そして、あなたが提供するウィンドウが同じ属性/メソッド/などを持っていることを確認してください。標準のブラウザ ウィンドウとして。

追加 機能が呼び出されるたびにコンソールに書き込む単純なウィンドウを試して実装することができます。原因がない限り、Javascript.Net はウィンドウ ラッパーを提供します (そのようには見えません)。

于 2010-07-16T16:10:19.380 に答える
0

Less.js は、Node.js で実行することを意図していることを示します。.NET アプリを作成しているように聞こえるので、Node.netが役立つかどうか試してみませんか?

于 2010-07-19T11:33:36.147 に答える