关于javascript:使用require()为服务器端/ PhantomJS转换JS脚本

Converting JS script for server-side/PhantomJS using require()

尝试在服务器端PhantomJS脚本中使用resemble.js会抛出未定义的错误,并且没有任何日志记录会穿过{object Object}。 在幻像/ examples / universe.js文件之后进行模式化,我尝试转动原始的resemble.js文件:

1
2
3
4
5
(function (_this) {
  _this['resemble'] = function (fileData) {
    ...
  }
}(this));

1
2
3
4
5
6
7
exports.create = function () {
  (function (_this) {
    _this['resemble'] = function (fileData) {
      ...
    }
  }(this));
};

以及

1
2
3
4
5
exports.create = function () {
  resemble = function (fileData) {
    ...
  }
};

首先,悬挂(this)到底有什么用? 其次,我该如何记录该对象? 最后,包装该文件的正确方法是什么?

谢谢!


试试https://github.com/kpdecker/node-resemble
Resemble.js的节点端口。


要从phantomJS中运行,请查看https://github.com/Huddle/PhantomCSS。 克隆,你立即启动并运行。 如果您不在Windows上,请将phantomjs.exe替换为您系统的正确二进制文件。

您还没有完全正确地粘贴(this)。 无论如何,这是一个IIFE。 函数的第一个参数_this只是结尾的(this)的范围副本。

您可以通过在函数体中转储_this或在函数体外部记录this来简单地记录它。

另请参阅javascript中的这个构造是什么? 和高级Javascript:为什么这个函数包含在括号中? [重复]