2013-03-04 72 views
2

轉換服務器端/ PhantomJS的JS腳本嘗試在服務器端PhantomJS腳本中使用resemble.js會引發未定義的錯誤,並且沒有任何日誌記錄會穿透過去的{object Object}。構圖幻影/例子/ universe.js文件後,我試圖打開original resemble.js file使用require()

(function (_this) { 
    _this['resemble'] = function (fileData) { 
    ... 
    } 
}(this)); 

exports.create = function() { 
    (function (_this) { 
    _this['resemble'] = function (fileData) { 
     ... 
    } 
    }(this)); 
}; 

以及

exports.create = function() { 
    resemble = function (fileData) { 
    ... 
    } 
}; 

首先,到底做什麼那晃來晃去(this)呢?其次,我如何記錄該對象?最後,包裝該文件的正確方法是什麼?

謝謝!

+0

這是什麼運氣? – ryan 2013-03-14 23:29:57

+0

不是,我正在將Casper作爲模塊加載,以便我可以直接訪問Phantom對象。我也希望使用批處理系統,所以我可以將分析從實際的基準測試中分離出來(試圖獲得ATF加載時間的可視基準)。 – Indolering 2013-03-28 17:11:15

+0

它看起來像我現在必須使用一個非幻影控制器,因爲我無法在加載幻像測試後切換代理。 – Indolering 2013-03-28 17:12:45

回答

1

對於從phantomJS內部運行相似,檢查出https://github.com/Huddle/PhantomCSS。克隆,你立即啓動並運行。如果您不在Windows上,請將phantomjs.exe替換爲系統的正確二進制文件。

您還沒有正確粘貼(this)。無論如何,這是一個IIFE。函數的第一個參數_this只是末尾的(this)的作用域副本。

您可以簡單地通過在函數體內傾銷_this或通過在函數體外記錄this來記錄它。

另見What is this construct in javascript?Advanced Javascript: Why is this function wrapped in parentheses? [duplicate]

+0

(這個)將幫助您識別調用函數的當前實例。 – MarmiK 2013-03-12 04:29:43

+0

我希望能夠使用批處理系統進行帶外分析。不過,我會看看。 – Indolering 2013-03-28 17:05:49

+0

**其他答案將不勝感激,但100會去瑞恩(除非他告訴我把它給別人,因爲你有很多互聯網點已經:D),我只是忘了授予50分答案及時:/ ** – Indolering 2013-03-28 17:13:43

相關問題