javascript - 不是 Electron chrome 中的函数,但不是 Node 控制台中的函数

标签 javascript node.js npm electron

我正在使用 npm 包 foreach-batch在一个 Electron 项目中。我已经安装了该软件包,并且没有 Cannot find module 错误。

var forEachBatch = require('foreach-batch')
var stuff = [0,1,2,3,4,5,6,7,8,9]

forEachBatch(stuff, function(i) { console.log(i) }, 2, function(progress) {
  console.log(progress);
}, 1000);

代码在 Node 控制台中按预期运行

$ node
> var forEachBatch = require('foreach-batch')
undefined
> var stuff = [0,1,2,3,4,5,6,7,8,9]
undefined
> 
> forEachBatch(stuff, function(i) { console.log(i) }, 2, function(progress) {
...   console.log(progress);
... }, 1000);
0
1
0.2
...

但是,当我使用 npm start 启动 Electron 并在 Chrome 控制台中输入相同的代码时。我收到一个 Uncaught TypeError: forEachBatch is not a function

Uncaught TypeError: forEachBatch is not a function

我是 Node 和 Electron 的新手,任何能帮助我更好地理解架构的见解将不胜感激。

最佳答案

该模块不会在浏览器中返回任何内容。

一些代码

var forEachBatch = function() { .... };
window.forEachBatch = forEachBatch;

所以当你这样做时

var forEachBatch = require('foreach-batch')

然后,由于 require 函数不会返回任何内容,因此您覆盖了 window.forEachBatch 并且它变得未定义。

所以试试这个吧

require('foreach-batch')
forEachBatch(...);

我还没试过。

关于javascript - 不是 Electron chrome 中的函数,但不是 Node 控制台中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53012311/

相关文章:

javascript - JS 和 jQuery 事件监听器在页面加载时不起作用

python - 如何将 python 放入路径中 - Ubuntu 20 npm 安装失败

javascript - jQuery offset() 被 body 位置打破 :relative combined with element margin

javascript - Promise 本身是否有一个时间,如果在特定的时间内从未解决,它最终会是 `reject` 本身吗?

javascript - 浏览器公开了哪些服务,例如 XMLHttpRequest?

node.js - 通过 flatironjs 提供静态资源

node.js - SSL 错误 : Unable to verify the first certificate for ingress kubernates service

asynchronous - 在node.js应用程序中,如何异步实现rails Controller before_filter的效果?

javascript - 在javascript中将树从graphql格式转换为json格式

javascript - 安装 npm 本地包依赖