javascript - 如何导出分配给变量的要求?

标签 javascript node.js webpack vue.js electron

我正在执行以下操作来实现此 require<app></app> 中可见

index.html:

<script>
  var electron = require('electron')
</script>
<app></app>
<script src="bundle.js"></script>

App.vue:

const ipc = electron.ipcRenderer
console.log(ipc)

但是我得到un-usedun-defined ESLint 出现 var 错误,所以我决定这样做:

requires.js:

var electron = require('electron')

exports.electron = electron

index.html:

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

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

但现在我收到此错误:requires.js:3 Uncaught ReferenceError: exports is not defined .

导出和导入 Electron 的正确方法是什么 require

注意:需要 electron直接在App.vue不起作用。您只能要求 electronindex.html

完整示例: https://github.com/alexcheninfo/vue-electron-simple

最佳答案

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

但是,对于这种不好的做法,使用全局变量并不是必要的。您应该做的就是在代码中使用 require 。你说这不起作用:它不起作用的原因可能是你正在使用 webpack 或类似的东西来创建 bundle.js。此外,您可能在 Node 中而不是 Electron 中运行捆绑过程,因此 require('electron') 无法按预期工作。请注意,它可以在您的 index.html 中运行,但它不是 bundle 的一部分。

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

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

关于javascript - 如何导出分配给变量的要求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36137339/

相关文章:

javascript - 点击DIV或A标签激活JS功能

javascript - Highcharts 在 x 和 y 轴上具有相同的刻度步长(相等的刻度间隔)

javascript - session token 过期时如何将用户重定向到登录页面?

javascript - Jade 包括检查实际页面的条件

mysql - 数据库状态的实时 View

webpack - 无法在 React 应用程序中使用 GLTFLoader 从本地目录加载 GLTF 文件。它从外部 URL 正确加载

javascript - 如何在 HTML 中每 10 分钟执行一次 Javascript?

javascript - Javascript中的多个对象属性分配

javascript - Webpacking jQuery 和自定义文件 : jQuery is undefined

reactjs - Webpack 将 React 组件拆分为 "0.js" "1.js"等