如何使用 phantomjs 作为 npm 包

How to use phantomjs as npm package

我正在编写一个需要 phantomjs 的节点脚本,我想与其他人共享该脚本,他应该能够 运行 脚本而无需在他的系统中单独安装 phantomjs。

我试过像这样在我的节点脚本中安装它(也有 package.json 文件)。

npm install --save phantomjs

然后我尝试 运行 按照 phantomjs home page

中给出的脚本
console.log('Loading a web page');
var page = require('webpage').create();
var url = 'http://phantomjs.org/';
page.open(url, function (status) {
  //Page is loaded!
  phantom.exit();
});

提示找不到模块网页。如果我像

一样单独安装网页
 npm install --save webpage 

然后它说,create 不是函数。

有没有一种方法可以在不下载并在系统中安装 phantomjs 的情况下使用它?

PhantomJS 最初是一个单独的二进制文件,而不是一个 npm 模块,如果你想 运行 一个脚本,因为它显示在它自己的页面上,那么 运行 它就像这样

/path/to/phatomjs /path/to/script.js

如果您不希望您的用户安装它,您可以创建一个程序来为他们安装它,也许 运行 脚本。为此,我曾经使用过 Innosetup 安装程序和 nwjs。


如果你想在 npm 模块中使用 PhantomJS,你可以使用 phantom package, but the syntax for creating scripts will be different, see example on the package page and also in examples folder