我正在构建一个供内部使用的 npm 包。它的功能之一是 DOM 解析,所以我需要在浏览器中加载它。我想使用 puppeteer 进行测试。
在文档中,我发现page.injectFile()
用于本地 JS 文件。但是,我的文件是一个模块(我正在注入的文件已经转译为常规 JavaScript),我不知道将其注入 puppeteer 的浏览器页面后该怎么做。
到目前为止我的代码:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
page.injectFile('../build/MyModule')
.then(result => console.log(result))
.then(error => console.log(error));
})();
我得到一个error
,ReferenceError: require is not defined
因为我正在使用 require in MyModule
。我什至可以在 puppeteer 中使用这样的 JS 模块吗?如果可以,获取实例MyModule
并使用它的正确方法是什么?