PhantomJS-如何从file1.js调用file2.js(通过将参数从file1传递到file2)

问题描述 投票:0回答:1

我正在使用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_inputoutput_format

我还有另一个名为file2.js的文件,现在我想从file2.js内部调用file1.js,并希望将user_inputoutput_format都作为参数传递。

file2.js的代码不需要在这里添加。重要的是file1.js应该调用file2.js并将这两个参数传递给它。然后,file2.js将对这些参数执行所需的操作。

我尝试了injectJS,但由于它仅适用于页面(例如, page.injectJS。另外,injectJS仅接受一个参数,即文件名,而不接受其他任何参数。因此,我无法实现想要实现的目标。

请帮助我。预先感谢。

javascript phantomjs
1个回答
0
投票

只需尝试以下流程。可能会帮助您]

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)
    })
})
© www.soinside.com 2019 - 2024. All rights reserved.