用“启动函数”和“参数”调用JavaScript文件
我正在开发一个简单的Electon应用程序。
我有两个JavaScript文件(NodeJs)。 第一个文件是调用第二个..我的代码正在工作…
我想修改这一行: require('./mitm.js');
接受参数。 我想在mitm.js文件中添加一个启动函数,并在main.js文件中使用object.start(),并使用参数来configuration代理并replace"http://proxy:1111"
例如:obj.start(param)
文件1:main.js
const electron = require('electron') const {app, BrowserWindow, session} = require('electron') const path = require('path') const url = require('url') //call mitm proxy require('./mitm.js'); let win function createWindow () { win = new BrowserWindow({width: 800, height: 800}) win.webContents.session.setProxy({proxyRules:'localhost:8080'}, function () { win.loadURL(url.format({ pathname: path.join(__dirname, 'index.html'), protocol: 'file:', slashes: true })) }); } app.on('ready', createWindow)
文件2:mitm.js
var HttpProxyAgent = require('http-proxy-agent'); var HttpsProxyAgent = require('https-proxy-agent'); var Proxy = require('http-mitm-proxy'); var proxy = Proxy(); proxy.listen({ port: 8080, httpAgent: new HttpProxyAgent("http://proxy:1111"), //example httpsAgent: new HttpsProxyAgent("http://proxy:1111") //example }); proxy.onRequest(function(ctx, callback) { console.log('-------- onRequest-------- ') // console.log(ctx) return callback(); }); proxy.onResponse(function(ctx, callback) { console.log('-------- onResponse-------- ') // console.log(ctx) return callback(); });
我怎么能在nodeJs中做到这一点?
谢谢
在mitm.js
,添加函数start(param)
,将逻辑放入然后导出。
// mitm.js var HttpProxyAgent = require('http-proxy-agent'); var HttpsProxyAgent = require('https-proxy-agent'); var Proxy = require('http-mitm-proxy'); var proxy = Proxy(); function start (param) { proxy.listen({ port: 8080, httpAgent: new HttpProxyAgent(param), httpsAgent: new HttpsProxyAgent(param) }); proxy.onRequest(function(ctx, callback) { console.log('-------- onRequest-------- ') return callback(); }); proxy.onResponse(function(ctx, callback) { console.log('-------- onResponse-------- ') return callback(); }); } // Return an object with the start function module.exports = {start}
现在你可以要求mitm.js
然后调用函数start()
var mitm = require('./mitm') mitm.start('http://proxy')