我正在使用PhantomJS,并且有一个名为file1.js
的文件,其中包含以下代码:
var fs = require('fs');
system = require('system');
var inputfile=system.args[1];
var stream = fs.open(inputfile,'r');
var data = stream.read();
var config = JSON.parse(data);
var user_input=config.input;
var output_format=config.output;
stream.close();
上面的代码读取一个JSON文件,并获取存储在JSON文件中的user_input
和output_format
。
我还有另一个名为file2.js
的文件,现在我想从file2.js
内部调用file1.js
,并希望将user_input
和output_format
都作为参数传递。
file2.js
的代码不需要在这里添加。重要的是file1.js
应该调用file2.js
并将这两个参数传递给它。然后,file2.js
将对这些参数执行所需的操作。
我尝试了injectJS,但由于它仅适用于页面(例如, page.injectJS
。另外,injectJS仅接受一个参数,即文件名,而不接受其他任何参数。因此,我无法实现想要实现的目标。
请帮助我。预先感谢。
只需尝试以下流程。可能会帮助您]
var page = require("webpage").create()
page.open(url, function () {
page.includeJs(file1.js, function () {
page.evaluate(function (params1, params2) {
page.includeJs(file2.js, function () {
page.evaluate(function (params3, params4) {
console.log(params3, param4)//this will print 10,20
}, params1, params2)
})
}, 10, 20)
})
})