web-dev-qa-db-ja.com

ES6プラグインをjQueryプロトタイプに拡張する

ES6のクラシックjQuery(v2)プラグインをモジュールとクラスで変換できないため、助けを求めたいと思います。

ECMAScript 5では、次のようにjQueryプラグインをjQueryプロトタイプにアタッチできます。

app.js --jQueryはHTML経由で読み込まれます<script> 鬼ごっこ

$.fn.myPlugin = function() {};
$('div').myPlugin();

そしてそれは動作します:)。 ES6では、次のように記述します。

myPlugin.es6:

import $ from 'jquery';

export default class myPlugin extends $ {
 // Could i use constructor() method ???
}

app.es6:

import $ from 'jquery';
import myPlugin from 'myPlugin.es6';

$('div').myPlugin();

そして最後に、それは機能していません...
検索したことがありますが、これまでこの質問をした人はいません。
私はBabelを使用してES6をES5にトランスパイルします。

11
Robin Meillet

いつものように、ES6のjQueryプロトタイプに新しいメソッドをインストールします。彼らにとって何も変わっていません。 jQueryをサブクラス化するつもりはないので、classまたはextendsを使用しても意味がありません。

// myPlugin.es6:
import $ from 'jquery';

$.fn.myPlugin = function() {
    …
};
// app.es6:
import $ from 'jquery';
import 'myPlugin.es6';

$('div').myPlugin();
6
Bergi