Webpack을 사용하여 종속성을 패키징하고 있습니다. method-combintator를로드하려고합니다. 종속성은 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 파일과 같은에 포함 ... 다음과 같습니다. 20 : 내가 추가하려고하면 ...
require.bind(window);
나는
을 추출 할 수없는 종속 관계있는 의 방법으로 사용되는 함수가 필요중요한 종속성을 얻을 0-7 정적
이 작업을 수행하는 올바른 방법은 무엇입니까? 내가
window['comb'] = require("method-combinators/lib/method-combinators.js");
을 할 경우
업데이트
> this
Object {}
> window
Window {...}
작동하는 것 같다, 그러나 이것은 레거시 코드가 있기 때문에 후와 시작의 모든 인스턴스를 검색하는 정말 어렵습니다.
업데이트 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' 필요 '창'과 동일합니까? 그 반대가 사실이어야합니다. – tcooc
창에 추가해야합니다. 그렇지 않으면 함수()()와 같이 호출 할 수 없습니다. var.after.function처럼 호출해야합니다. – Jackie
JavaScript, CoffeeScript * 및 * TypeScript를 혼합하고 있습니까? 당신은 용감한 사람입니다 :). –