C# アプリケーションでless.jsを実行しようとしています。JavaScript.netを使用してデフォルトのディストリビューションを実行しようとしましたが、window is undefined エラーが発生します。これはブラウザではなくJSエンジンで実行されていることが原因だと思います。回避策や役立つリソースへのポインタはありますか?
3 に答える
おそらく、代わりに.Lessを実行する必要があります。私の理解が正しければ、Javascript インタープリターを介してサーバー上で less.js を実行しようとしています。インタープリターをスキップして、すべての .NET コードを使用して LESS 変換を実行しないのはなぜですか? 痛みとオーバーヘッドがはるかに少なくなります。
これは本当の答えというよりも推測ですが、私は助けようとしますので、間違っている場合は反対票を投じないでください. しかし、ドキュメント (私は 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 はウィンドウ ラッパーを提供します (そのようには見えません)。
Less.js は、Node.js で実行することを意図していることを示します。.NET アプリを作成しているように聞こえるので、Node.netが役立つかどうか試してみませんか?