Npm 如何插入数据库浏览器
我使用PockDB和e2e测试的量角器开发web应用程序 最近,我们从npm PockDB包切换到PockDB浏览器包,这更适合在浏览器中使用 它有一个副作用,因为我们也从portractor注入PockDB,以便在e2e测试期间强制某些状态:Npm 如何插入数据库浏览器,npm,protractor,node-modules,pouchdb,Npm,Protractor,Node Modules,Pouchdb,我使用PockDB和e2e测试的量角器开发web应用程序 最近,我们从npm PockDB包切换到PockDB浏览器包,这更适合在浏览器中使用 它有一个副作用,因为我们也从portractor注入PockDB,以便在e2e测试期间强制某些状态: export namespace pouchBackdoor { function _inject(): void { browser.executeScript('return typeof PouchDB == "undefined"')
export namespace pouchBackdoor {
function _inject(): void {
browser.executeScript('return typeof PouchDB == "undefined"').then(res => {
if (res) {
let lib = path.join(
__dirname, '../node_modules/pouchdb/dist/pouchdb.js');
browser.executeScript(fs.readFileSync(lib, 'utf-8'));
}
});
}
修改后的node\u模块/backDB
不再存在,我们的测试也不通过
一个快速的解决方法是为开发环境重新安装完整的PockDB发行版,但这并不真正令人满意,因为我们需要的一切都应该已经在PockDB浏览器中了
因此,我试图在node\u modules/pookdb browser/
文件夹中找到与node\u modules/pookdb/dist/pookdb.js相当的文件,但结果是我无法做到这一点
我试图使用node\u modules/backdb browser/lib/index.js
,但它返回以下错误:
Failed: unknown error: require is not defined
在浏览器环境中不存在表示为需要的
所以我的问题是,有没有人尝试过这样做并找到解决方案,或者你有没有人更了解npm的工作原理并能给我任何线索
PS:npm安装PockDB browser后,有一个包含mynode\u模块/PockDB browser/
文件夹的干净npm安装PockDB browser
:
pouchdb-browser/
├── lib
│ ├── index.es.js
│ └── index.js
├── LICENSE
├── node_modules
│ └── lie
│ ├── ...
├── package.json
└── README.md
谢谢你的阅读
编辑:
在github/PockDB中发布open,要求在PockDB浏览器包中包含PockDB.js
: