Webpackを使用して依存関係をパッケージ化しています。メソッド結合をロードしようとしています。依存性は commonJSモジュールから.call(this)を呼び出すときにこのウィンドウを作成するには
require("method-combinators/lib/method-combinators.js");
私は内側の関数にブレークポイント
私はthis != window
に気づく...
// Generated by CoffeeScript 1.3.1
(function() {
var __slice = [].slice;
this.before = function(decoration) {
return function(base) {
return function() {
decoration.apply(this, arguments);
return base.apply(this, arguments);
};
};
};
...
}).call(this);
は、その後、私は私のTSファイルなどに含ま...このようになります。私が追加しようとすると...
require.bind(window);
私は
を抽出することができない機能を必要とします重要な依存関係を取得:20:0-7は での方法で使用されている依存関係を静的に
これを行う正しい方法は何ですか?
更新
> this
Object {}
> window
Window {...}
私は
window['comb'] = require("method-combinators/lib/method-combinators.js");
を行う場合には動作しているようですが、これはレガシーコードであるため、後のすべてのインスタンスを検索し始めることは本当に難しいです。
アップデート2
これはちょっと作品... @tcoocが提供する答えに似ていますが、問題は、私はそれぞれの機能を一覧表示する必要がある
var comb = require("method-combinators/lib/method-combinators.js");
window['after'] = comb.after;
window['before'] = comb.before;
。アンダースコアのために私はこのような何か...
var s = require("underscore.string");
window['_'].mixin(s.exports());
を持っていますが、ここでの問題は、櫛は、これが私の最後の
var comb = require("method-combinators/lib/method-combinators.js");
window['_'].extend(window, comb);
なぜ 'this'必要はありません'window'と等しくなる?その反対は真実であるはずです。 – tcooc
私はそれをウィンドウに追加する必要があります。それ以外の場合は、関数(){}のように呼び出せません。var.after.functionのように呼び出す必要があります。 – Jackie
JavaScript、CoffeeScript *、* TypeScriptを混在していますか?あなたは勇敢な人です:)。 –