为了账号安全,请及时绑定邮箱和手机立即绑定

在Electron渲染器中导出/定义功能的正确方法

在Electron渲染器中导出/定义功能的正确方法

ITMISS 2021-04-12 21:10:58
我有一个JS文件,我导入到我的电子的“主”(或后台进程)app.js,使用require(例如:const myJS = require("./pathToMyJS/myJS");)内容myJS.js:module.exports = {  mFunc: function mFunc(param1) {    ...  }};我可以用mFunc在app.js作为myJS.mFunc(param1);与一切的伟大。然后,我尝试对“ renderer ” JS遵循相同的过程。因此,我renderer.js现在导入了const myOtherJS = require("./myJS/myOtherJS");另一个JS文件,该文件遵循与完全相同的module.exports逻辑myJS。根HTML(app.html)声明renderer为<script defer src="./renderer/renderer.js"></script>。但是在启动时,我得到:Uncaught TypeError: Cannot set property 'exports' of undefinedat renderer.js? [sm]:34在网上搜索时,我遇到了这个答案,其中提到可以使用AMD方式而不是commonJS方式。因此,我尝试了以下操作:(不确定这在语法上是否正确!)define(  ["renderer"],function rFunc(param1) {   ... })但这失败了:Uncaught ReferenceError: define is not defined那么在渲染器中使用要导出的功能时定义的正确方法是什么?到目前为止,我所做的只是将函数写入自己的JS文件(例如function func1() { ...}:),并在app.htmlas中声明所有这些文件<script defer src="./funcFile1.js"></script>。
查看完整描述

2 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

原来,我只是导出错误。modules.export是失败的原因,modules在上没有定义renderer。


相反,如果我执行以下操作导出单个功能:


// ./myJS/myOtherJS.js

export function rFunc() { ...}

然后导入到我的renderer.js喜欢:


import { rFunc } from './myJS/myOtherJS';

rFunc();

事情按我最初的预期进行。


这份有关模块的Google Developers Primer对理解概念很有用。


查看完整回答
反对 回复 2021-04-15
  • 2 回答
  • 0 关注
  • 297 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号