Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何导出分配给变量的require?_Javascript_Node.js_Webpack_Vue.js_Electron - Fatal编程技术网

Javascript 如何导出分配给变量的require?

Javascript 如何导出分配给变量的require?,javascript,node.js,webpack,vue.js,electron,Javascript,Node.js,Webpack,Vue.js,Electron,我正在做以下操作,以使此要求在中可见,您似乎在尝试将电子定义为一个全局变量;为此,您可以在第一个示例中的index.html中设置window.electron=require('electron')。(它将在bundle.js中提供) 但是,使用globals来处理这种糟糕的做法是没有必要的。您应该做的是在代码中使用require。您说这不起作用:它不起作用的原因可能是您正在使用webpack或类似的东西来创建bundle.js。此外,您可能在Node中而不是在Electron中运行捆绑过程,

我正在做以下操作,以使此
要求

中可见,您似乎在尝试将
电子
定义为一个全局变量;为此,您可以在第一个示例中的index.html中设置
window.electron=require('electron')
。(它将在bundle.js中提供)

但是,使用globals来处理这种糟糕的做法是没有必要的。您应该做的是在代码中使用
require
。您说这不起作用:它不起作用的原因可能是您正在使用webpack或类似的东西来创建
bundle.js
。此外,您可能在Node中而不是在Electron中运行捆绑过程,因此
require('Electron')
无法按预期工作。请注意,它在您的
index.html
中起作用,它不是捆绑包的一部分

如果要继续使用此设置,可以重命名Electron的require,以区分捆绑期间解析的
require
和运行时解析的
require
。换句话说,在
index.html的脚本标记中,
window.electronRequire=require
,然后在代码中使用
electronRequire('electron')


既然如此,为什么首先要捆绑所有东西?Electron具有完整的节点集成,因此您可以使用常规节点模块;文件也不是通过HTTP发送的,因此将所有内容捆绑到一个文件中几乎没有什么好处。

可能是
module.exports
而不是
exports
?谢谢您的建议。我使用的是Vue.js,它使用
.Vue
文件。Webpack将它们编译成JavaScript。但我认为你是对的,我会考虑不要捆绑代码。
<script>
  var electron = require('electron')
</script>
<app></app>
<script src="bundle.js"></script>
const ipc = electron.ipcRenderer
console.log(ipc)
var electron = require('electron')

exports.electron = electron
  <script src="requires.js"></script>
</head>

<body>
  <app></app>
  <script src="bundle.js"></script>