2017-02-26 12 views
6

私はace-buildsを使用してwebpackでエースエディタアプリケーションを構築しています。ace-buildsのエースエディタでmirror workerを使用する方法

構文検証のためにカスタムワーカーを使用する必要があります。 wikiページhereは、次のようにして取得したmirrorというワーカーを拡張することを提案しています。

var Mirror = require("ace/worker/mirror").Mirror;

しかし、エース-構築し、この労働者を提供していないようです。 ace-buildsを使用して構文検証用のカスタムワーカーを作成するにはどうすればよいですか?

カスタム構文検証ワークワー(カスタムプログラミング言語用)を使用してエースエディタアプリケーションを構築する方法に関する他のアドバイスは大歓迎です。 (私は、webpackが知らないrequire.toUrlを使用しているので、require.jsで使用するはずのエースライブラリは使用できません。

答えて

1

ace-buildsリポジトリには、エース/ワーカー/ミラーを別のファイルに保存します。それは余分なコードの唯一の200行が含まれているため

あなたはhttps://github.com/ajaxorg/ace-builds/blob/master/src/worker-json.js#L1409-L1699

"<mymode>_worker.js"にそのファイルの名前を変更し、終了時に労働者の定義を追加し、カスタム1をブートストラップするために、JSONの労働者を使用することができます。

define("ace/mode/<mymode>_worker",["require","exports","module"], function(require, exports, module) { 
"use strict"; 

var oop = require("../lib/oop"); 
var Mirror = require("../worker/mirror").Mirror; 

... 

}); 
+0

しかし、それはミラー作業者によっても異なります。 https://github.com/ajaxorg/ace-builds/blob/master/src/worker-json.js#L1663したがって、これらの200行だけが機能しません。 私がやっていることは、ワーカーファイルのいずれかからミラーワーカーの定義をコピーし、そのファイルが必要なことです。 https://github.com/ajaxorg/ace-builds/blob/master/src/worker-json.js#L1347-L1407その後、ミラーワーカーが定義されます。しかし、私は他の人のコードを私のリポジトリに直接入れないでください:) –

+0

ミラーの定義とその依存関係がすべて含まれています。https://github.com/ajaxorg/ace-builds/blob/v1.2.6/src /worker-json.js#L1347では、WebWorker for aceを作成するには、そのファイル内の強調表示された200行以外のすべてが必要です。だから、私は作業員のためのあなたのWebpackの設定でフルworker-json.jsファイルを含めることを提案していた –

+0

ああ。私はworker-jsonファイルが必要な場合、[ace.js](https://github.com/ajaxorg/ace-builds/blob/v1.2.6/src/ace.js)ファイルを要求しないようにすることはできますか?私はそれを試してみましょう。ありがとう。 –

関連する問題