我正在调试仅在生产中发生的前端问题。我想知道是否有任何方法可以模拟请求的响应或模拟某些静态文件。
例如,
当我呼叫xxx.com时,它将加载index.html
,而index.html
加载a.js
。
由于chrome缓存了js,我们是否有可能模拟a.js
以便index.html
加载模拟的a.js
?
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以使用puppeteer + page.setRequestInterception()
来尝试request.respond()
。像这样:
const puppeteer = require('puppeteer');
(async function main() {
try {
const browser = await puppeteer.launch({ headless: false });
const [page] = await browser.pages();
await page.setRequestInterception(true);
page.on('request', (interceptedRequest) => {
if (interceptedRequest.url() === 'https://sb.scorecardresearch.com/beacon.js') {
interceptedRequest.respond({
body: 'document.title = "42";',
});
} else {
interceptedRequest.continue();
}
});
await page.goto('https://stackoverflow.com/help');
// await browser.close();
} catch (err) {
console.error(err);
}
})();