【发布时间】:2017-09-15 18:28:32
【问题描述】:
我正在构建一个 site scraper 作为 chrome 扩展,所以我使用 Node.js。
我正在使用node-horseman 包来获取数据,我想使用browserify 创建一个包,所以我可以在客户端将它用作普通的javascript,而无需直接使用Node.js .
当我通过终端 ($ node horsemanOriginalFile.js) 运行脚本时,它运行良好。问题是,当我用browserify 创建我的bundle.js 并在我的index.html(内部扩展名)中调用文件时,我得到了错误:
未处理的拒绝类型错误:spawn 不是 spawnPhantom 的函数 (chrome-extension://minjemngfgengofcddnbgjgnpaddoimm/bundle.js:13030:19)
代码:
horsemanOriginalFile.js
var Horseman = require('node-horseman');
var horseman = new Horseman();
horseman
.userAgent('Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0')
.open('https://somesite.com')
.wait(7000)
.html()
.log()
.close();
browserifyFileToCreateBundle.js(我运行$ node horsemanOriginalFile.js 来创建bundle.js 文件)
var browserify = require('browserify');
var b = browserify();
b.add('horsemanOriginalFile.js');
const fs = require('fs');
const writable = fs.createWriteStream('bundle.js');
b.bundle().pipe(writable);
然后我在客户端调用创建的bundle.js(那是我收到错误的时候):
索引,html
<html>
<head>
<meta charset="UTF-8">
<title>My Extension</title>
<script src="bundle.js"></script>
</head>
<body>
</body>
</html>
有什么解决办法吗?
【问题讨论】:
标签: node.js web-scraping phantomjs browserify